2016-06-30 4 views
0

Ich habe ein Feld mit etwa acht Pflichtfelder. Ich habe einen Code, der nur eine Schaltfläche aktiviert, wenn alle Felder validiert sind. Dann habe ich eine Methode, die überprüft, ob alle Felder gültig sind - nur dann ist die Schaltfläche aktiviert.jQuery Validate: Formular validieren, ohne Fehler über leere Felder zu werfen

$("#FirstName").on("keyup blur", function() { 
     if ($("#FirstName").length > 0) { 
      if ($("#FirstName").valid()) { 
       isFirstNameValid = true; 
      } 
      else 
       isFirstNameValid = false; 

      checkIfAllFieldsAreValid(); 
     } 

    }) 

Das Problem ist, dass das erforderliche Validierungsfeld einen Fehler wirft, wenn ich Tab zum nächsten Feld, weil das „keyup blur“ Ereignis auf dem nächsten Feld feuert noch bevor ich zu schreiben beginnen. Welches Ereignis verhindert dieses Verhalten?

Antwort

1

Sie können die Schaltfläche aktiviert einreichen lassen und überprüfen, wenn der Benutzer darauf klickt, wenn das Formular gültig ist oder nicht

$("#btnCreateMyAccount").on("click", function() { 
     if ($("#CreateAccountForm").valid()) { 
      return false; 
     } 
     else 
     { 
      //submit the data 
     } 
    }) 
+0

Ja, ich dachte darüber nach. Aber ich muss die Schaltfläche während des gesamten Prozesses deaktiviert halten. –

0

Überprüfung Versuchen Sie, wenn eine der Eingaben leer sind, bevor Sie das Formular zu validieren.

if($("your input field").val()=="") { 
    return; 
} 
Verwandte Themen