2009-06-08 17 views
4

Nun mein Problem ist, dass ich ein Formular habe, das ich die Felder mit jQuery validieren möchte, wenn die Daten korrekt sind, lasse ich die Übermittlung fortsetzen, wenn nein, deaktiviere ich das Standardverhalten durch Rückgabe von false (saw dass in einem Tutorial, here).
so wie ich sagte die jquery Syntax, wenn das Dokument bereit ist, ich für das Click-Ereignis der Schaltfläche registriert, das Problem ist, dass Code nie ausgeführt wird. Ich habe Firebug benutzt, aber keine Ahnung. nichts passiert, so ist hier mein Code:
JQuery Formularvalidierung

$('#submitBtn').click(function() 
{ 
    var password1 = $('#form_password').val(); 
    var password2 = $('#form_password2').val(); 
    if(password1 != password2) 
    { 
     alert("the two passwords are not equal."); 
    } 
    return false; //to disable the default behavior of the submit btn 
}); 

Antwort

6

Der richtige Weg, um eine Form Einreichung der Überprüfung ist die Form der submit Ereignis zu überprüfen, nicht die click Ereignis der Schaltfläche. Ändere das um und was du hast, sollte funktionieren, obwohl es gerade jetzt return false; tut, also würde das Formular niemals gesendet werden. Dies sollte es tun:

$('#myform').submit(function() { 
     var motPasse1 = $('#form_motPasse').val(); 
     var motPasse2 = $('#form_motPasse2').val(); 
     if(motPasse1 != motPasse2){ 
      alert("Les deux mot de passe ne sont pas identiques"); 
      return false; // cancel form submission if passwords don't match 
     } 
     return true; // return true if no errors 
}); 

Schließlich hoffe ich Sie nicht die alert es für Produktionszwecke zu halten. :) Es gibt viel, viel bessere Möglichkeiten, Benutzerbenachrichtigungen anzuzeigen als eine Warnung. Check out this question für einige Vorschläge, obwohl etwas so einfach wie ein Fehler <div> und verblassen es ist schöner als die hässliche Standard-Browser-Alarm-Box.

+0

danke aber das Problem, ist, dass das Formular jedes Mal gesendet wird, wenn ich es versuche. Glauben Sie mir, ich würde nicht um Hilfe bitten, wenn das nicht der Fall ist. – abdelkarim

+0

Haben Sie bereits versucht, es an das Submit-Ereignis des Formulars zu binden? Wie gesagt, wenn Sie es an das click-Ereignis der Schaltfläche binden, ist das keine zuverlässige Möglichkeit, es zu überprüfen, da das Ereignis durch Drücken der Eingabetaste nicht ausgelöst wird. –

+0

mit dem Submit-Ereignis des Formulars, es funktioniert gut, vielen Dank für Ihre Hilfe. – abdelkarim

0

Ihr Problem ist, dass Sie immer falsch zurückkehren es wie folgt aussehen:

$('#envoyerButton').click(function() 
{ 
     var motPasse1 = $('#form_motPasse').val(); 
     var motPasse2 = $('#form_motPasse2').val(); 
     if(motPasse1 != motPasse2) 
     { 
       alert("Les deux mot de passe ne sont pas identiques"); 
       return false; 
     } 
     return true; 
}); 
2

Da Sie sagten, Sie ein Formular verwenden, können Sie auf die submit des Formulars Ereignis binden könnte:

$('form#id').submit(function(){ 
    // your validation code 
}); 
2

Sie sollten sich die JQuery Validation Plugin ansehen. Es wird von einem der Mitglieder des JQuery-Teams verwaltet und vereinfacht die Validierung der clientseitigen Formulare.

Verwandte Themen