Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από mpempe » 06 Νοέμ 2015 19:20

Γειά σας
Σε μια φόρμα εγγραφής πελάτη προσπαθώ να κάνω έλεγχο με ajax στη βάση αν υπάρχει ήδη καταχωρημένο το email ή όχι.
Το javascript είναι

Κώδικας: Επιλογή όλων

 
<script language="javascript">
$&#40;document&#41;.ready&#40;function&#40;&#41;
&#123;
	$&#40;"#NewfileName"&#41;.blur&#40;function&#40;&#41;
	&#123;
		$&#40;"#msgbox"&#41;.removeClass&#40;&#41;.addClass&#40;'messagebox'&#41;.text&#40;'Checking...'&#41;.fadeIn&#40;"slow"&#41;;
		$.post&#40;"check1.aspx",&#123; NewfileName&#58;$&#40;this&#41;.val&#40;&#41; &#125; ,function&#40;data&#41;
        &#123;
		  if&#40;data=='no'&#41; //if username not avaiable
		  &#123;
		  	$&#40;"#msgbox"&#41;.fadeTo&#40;200,0.1,function&#40;&#41; //start fading the messagebox
			&#123; 
			  $&#40;this&#41;.html&#40;'Το όνομα αρχείου υπάρχει!!!'&#41;.addClass&#40;'messageboxerror'&#41;.fadeTo&#40;900,1&#41;;
			&#125;&#41;;		
          &#125;
		  else
		  &#123;
		  	$&#40;"#msgbox"&#41;.fadeTo&#40;200,0.1,function&#40;&#41;  //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;'OK'&#41;.addClass&#40;'messageboxok'&#41;.fadeTo&#40;900,1&#41;;	
			&#125;&#41;;
		  &#125;
				
        &#125;&#41;;
 
	&#125;&#41;;
&#125;&#41;;
</script>
Το πεδίο

Κώδικας: Επιλογή όλων

      

<input name="NewfileName" id="NewfileName" size="93" style="border&#58;1px solid #B5C3D6" value="">
      <span id="msgbox" style="display&#58;none"></span>
Το check.aspx είναι

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data.SqlTypes" %>
<%@ Import Namespace="Shop" %>

<script runat="server">
    Private NewEmail As String
 
    Sub Page_Load&#40;ByVal sender As Object, ByVal e As EventArgs&#41;
        Dim command As SqlCommand = New SqlCommand&#40;&#41;
        command.CommandType = CommandType.Text
        command.CommandText = "SELECT Email FROM Customers WHERE Email=@NewEmail"
        command.Parameters.Add&#40;New SqlParameter&#40;"@NewEmail", SqlDbType.NVarChar&#41;&#41;.Value = CStr&#40;Request.Form&#40;"NewfileName"&#41;&#41;
        command.Connection = DB.GetConnection&#40;&#41;
        Dim adapter As SqlDataAdapter = New SqlDataAdapter&#40;command&#41;
        Dim dataTable As DataTable = New DataTable&#40;&#41;
        adapter.Fill&#40;dataTable&#41;
        If dataTable.Rows.Count = 0 Then
            Response.Write&#40;"yes"&#41;
        Else
            Response.Write&#40;"no"&#41;
        End If
    End Sub

</script>


Το παραπάνω ajax το χρησιμοποιησα παλιότερα με asp έλεγχο στη βάση και δουλευε κανονικά.
Τώρα με την asp.net έλεγχο κάτι δε κάνω σωστά.

Το script to έχω πάρει απο εδώ.

http://roshanbh.com.np/2008/04/check-us ... query.html

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από mpempe » 07 Νοέμ 2015 02:49

Έχω την υποψία πως δε περνάει το περιεχόμενο του πεδίου NewfileName στο check.aspx για να γίνει ο έλεγχος.
Υπάρχει κάποιος τρόπος να το τσεκάρω αυτό?

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από ailouros » 23 Νοέμ 2015 00:54

Θα σου πρότεινα να αντικαταστήσεις το:
<input name="NewfileName
Με ένα textbox
<asp:Textbox id="NewfileName &#8230;

Και στον κώδικα αντί για Cstr(Request.Form
Να βάλεις NewfileName.Text

Και να δεις αν θα δουλέψει. Διαφορετικά, debug.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από mpempe » 13 Δεκ 2015 02:47

Δε μου δούλεψε με την αλλαγή που προτείνεις.

Πως μπορώ να κάνω debug?

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από ailouros » 15 Δεκ 2015 01:00

Σου εξήγησα σε άλλο thread πως να κάνεις debug.
http://www.freestuff.gr/forums/viewtopic.php?t=69449

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από mpempe » 16 Δεκ 2015 00:40

ailouros
Ευχαριστώ για την απάντηση.
Θυμάμαι τον τρόπο που μου είχες υποδείξει για να κάνω debug και το προσπάθησα χωρίς αποτέλεσμα.
Απ ότι αντιλαμβάνομαι οτι σαν πρώτο βήμα πρέπει να τσεκάρω αν απο τη σελίδα με το πεδίο NewfileName περνάνε τα δεδομένα μέσω ajax στη σελίδα check1.aspx.

Δοκίμασα να κάνω debug τη σελίδα check1.aspx αλλα δε βγάζω κάτι.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από mpempe » 16 Δεκ 2015 01:30

Προχώρισα λίγο
Με το debug διαπίστωσα οτι τα σεδομένα περνανε στη σελίδα check1.aspx.

http://postimg.org/image/u40buoqa1/

Η ερώτηση που κάνω στη βάση είναι σωστή?

Μήπως κάτι γινεται εκεί?

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Έλεγχος με ajax αν υπάρχει ένα email στη βάση

Δημοσίευση από ailouros » 20 Δεκ 2015 20:44

mpempe έγραψε:Προχώρισα λίγο
Η ερώτηση που κάνω στη βάση είναι σωστή?
Μήπως κάτι γινεται εκεί?
Δεν έχω ιδέα. Δική σου είναι η βάση, εσύ ξέρεις πως γράφεις δεδομένα εκεί. Αλλά γιατί ρωτάς και δεν κάνεις έναν έλεγχο. Πάρε το query, βάλτο στο SQL Server Management Studio και δες τι επιστρέφει. Ή βάλε breakpoint στο If και κάνε debug από εκεί για να δεις αν το DataTable έχει τιμές. Ο κώδικας που έχεις παραθέσει πάντως σωστός είναι αν και αδικαιολόγητα περίπλοκος, δεν χρειάζεσαι DataAdapter και DataTable για να διαβάσεις μια τιμή από μια βάση.

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες