2016-07-25 5 views
0

Ich verwende https://jqueryvalidation.org/, um mein Formular am Frontend zu validieren. Das grundlegende "wenn Feld ist leer - validiere" funktioniert OK.jquery.validate - Schaltfläche deaktiviert bis gültige E-Mail

Aber ich möchte die Absenden-Schaltfläche zunächst deaktiviert werden, bis eine gültige E-Mail-Adresse eingegeben wurde. Ich möchte, dass die Schaltfläche aktiviert wird, sobald das Feld gültig wird (auf Tastendruck).

Also im Grunde muss ich nur die "btn-disabled" -Klasse entfernen, sobald es gültig ist.

Ich habe mit der jQuery zu kämpfen, um diese Funktion/Methode hinzuzufügen. Wäre dankbar, wenn jemand helfen kann.

Heres eine leicht simplifed Version: http://codepen.io/dagford/pen/kXJpEZ

$(document).ready(function(){ 

    $("#reset-form").validate({ 
     rules: { 
      emailaddress: { 
       required: true, 
       email: true 
      } 

     }, 
     messages: { 
      email: "Please enter a valid email address" 
     } 

    }); 

}); 
+0

Mögliche doppelte: http://stackoverflow.com/a/13031687/6188402 –

Antwort

0

Sie können überprüfen, ob das Formular nach Eingabe der E-Mail-Adresse gültig ist. Halten Sie die Schaltfläche standardmäßig deaktiviert und entfernen Sie das deaktivierte Attribut, sobald Sie das Formular validiert haben.

$("#emailaddress").on("blur", function(){ 
    if($("#reset-form").valid()) 
    { 
     $("#btn-reset").removeAttr("disabled"); 
    } 
}); 

-Code Pen: http://codepen.io/anon/pen/YWLjKX?editors=1010

+1

Cheers Deep. Ich habe deine 'Unschärfe' in einen 'Tastendruck' geändert und es scheint so zu sein, was ich will. – swisstony

0

Sie haben attr für dieses

$('#button1, #button2').attr("disabled", true); 
+0

Hallo Carlos Ich bin nicht wirklich besorgt mit das deaktivierte Attribut an dieser Stelle (obwohl ich plante, es später hinzuzufügen). Was ich wissen möchte, ist, wie man "etwas macht" (z. B. Hinzufügen/Entfernen von Klassen usw.) VERWENDUNG des verknüpften Validierungs-Plugins, sobald eine gültige E-Mail-Adresse eingegeben wurde. Und durch 'bald wie' - ich meine auf eine Art von Tastendruckereignis – swisstony

0

prüfen dies:

<script type="text/javascript"> 
       (function() { 
         $('form > input').keyup(function() { 
          var empty = false; 
          $('form > input').each(function() { 
           if ($(this).val() == '') { // write your code for valid email here 
            empty = true; 
           } 
          }); 
          if (empty) { 
           $('#register').attr('disabled', 'disabled'); 
          } else { 
           $('#register').removeAttr('disabled'); 
          } 
         }); 
        })() 
       </script> 
Verwandte Themen