Verstecken senden-Schaltfläche, bis die form gültig ist

Ich bin Recht neu mit Jquery, so könnte dies ein einfaches problem, aber gibt es eine Möglichkeit zum ausblenden der Schaltfläche "senden" auf einem Formular, bis Sie alle Felder validiert wurden.

Validierung brauchen würde, um ein "as you type" - Lösung. Im Grunde habe ich 3 Felder - Vorname, Nachname und e-mail. Ich würde gerne den submit-button zu bleiben ausgeblendet, bis die beiden 'name' Felder müssen ausgefüllt wurde und eine gültige e-mail-Adresse eingegeben wurde in die e-mail-Feld.

Form selbst verwendet AJAX zur Eingabe der Formulardaten in eine Datenbank. Das Formular in einer lightbox, die automatisch schließen, sobald der submit-button geklickt wird.

Können Sie ein Beispiel finden Sie hier: http://testing.xenongroupadmin.com/whatis/pfi

Ignorieren, die 'dieses Fenster Schließen" - link - das ist es nur für meine Bequemlichkeit und entfernt werden, die in der finalen version.

Unten ist der HTML-code für die form, gefolgt von der JQuery/AJAX submission-code:

<form id="registerform" action="thanks.php" method="POST">
 <ul id="inputform">
  <li>
   <label for="firstname" id="firstnamelabel">First Name</label>
   <input type="text" name="first_name" id="fname" class="registerboxes" />
  </li>
  <li>
   <label for="lastname" id="lastnamelabel">Last Name</label>
   <input type="text" name="last_name" id="lname" class="registerboxes" />
  </li>
  <li>
   <label for="email" id="emaillabel">E-mail Address</label>
   <input type="text" name="emailbox" id="email" class="registerboxes" />
  </li>
 </ul>
 <input type="submit" value="Submit" id="emailbutton" />
</form>

Und Jquery:

$(document).ready(function(){
 $("form#registerform").submit(function() {
  var fname     = $('#fname').attr('value');
  var lname     = $('#lname').attr('value');
  var email     = $('#email').attr('value');    

 $.ajax({
  type: "POST",
  url: "post.php",
  data: "fname="+ fname +"& lname="+ lname +"& email="+ email,
  success: function(){

 $('div#register-panel, div#lightbox').fadeOut(300);
   }
  });
  return false;
 });
});

Dank!

  • ho kann überprüft werden, ob die Eingänge?
  • Ich bin Planung, um die jquery-validation-plugin, aber habe nicht geschrieben, den code noch
  • Warum nutzen Sie nicht .val() anstelle von attr('value'); ?
  • Tun können. Noch brauchen, um herauszufinden, wie zu tun, machen Sie den Absenden-button angezeigt wird, obwohl.
  • Naja ich würd wahrscheinlich führen Sie eine Gültigkeitsprüfung auf ein pro-Feld-basis, basierend auf blur, wo auf dem letzten Feld nach der erfolgreichen Validierung das Feld ausführen ein neben der Prüfung gegen alle Felder, wo Sie, wenn es kommt wieder ein Erfolg für alle wird, zeigen Sie die-Taste.
InformationsquelleAutor Chris | 2012-07-27
Schreibe einen Kommentar