2017-09-21 2 views
0

Ich versuche ein Formular zu erstellen, das mit dem jQuery validate-Plugin validiert. Ich habe Validation erfolgreich implementiert, so dass es die Bereiche des Formulars überprüft, die ich möchte, aber jetzt wird das Formular nicht mehr gesendet, sobald die Formulareingabebereiche ausgefüllt sind. Kann jemand bitte einen Ratschlag geben, wie ich dazu in der Lage sein könnte mach es einmal gültig.jQuery validate wird nach Prüfung nicht gesendet

auch nicht notwendig, aber wäre nett ist ich möchte die Fehlermeldung Label rechts oder unten in den Formularbereichen erscheinen. Hier ist mein Code, jeder Rat würde mir gefallen PS Ich bin ein ganz Neuling Entschuldigung für schlechte Formatierung.

<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"> 
</script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional- 
methods.min.js"></script> 

<!------- Web page Content ------> 


      <div id="content"> 


     <h2> Register with GTB Financial Solutions </h2> 

     <form method="post" action="post-test.php" id="myform" name="myform" onsubmit="return validate();"> 

     How to maximise profits on managed funds<input type="checkbox" name="chkbox"><br> 
     Minimising tax in the new environment<input type="checkbox" name="chkbox"><br> 
     Measuring stock momentum<input type="checkbox" name="chkbox"><br> 
     Economic forecasts<input type="checkbox" name="chkbox"><br> 
     Creative accounting for management<input type="checkbox" name="chkbox"><br> 
     The exciting new features of the ATO web site<input type="checkbox" name="chkbox"><br><br>  
     <label for="Fname">First Name</label><br> 
     <input type="text" name="Fname" id="Fname"><br> 
     <label for="Lname">Last Name</label><br> 
     <input type="text" name="Lname" id="Lname"><br> 
     <label for="Phone">Phone Number</label><br> 
     <input type="text" name="Phone" id="Phone"><br> 
     <label for="E-mail">E-mail Address</label><br> 
     <input type="email" name="email" id="email"><br> 
     <label for="Address">Address</label><br> 
     <input type="text" name="Address" id="Address"><br> 



     <input type="submit" value="submit"> 
    </form> 
    <script> 

    jQuery.validator.setDefaults({ 
    debug: true, 
    success: "valid", 
    submitHandler: function() { 
     alert("submitted!"); 
     } 
    }); 
    $("#myform").validate({ 
     rules: { 
      chkbox: { 
       required: true, 
      }, 
      Fname: "required", 
      Lname: "required", 
      Phone: "required", 
      Address: "required", 
      email: { 
       required: true, 
       email: true 
      }, 

     }, 
     messages: { 
      Fname: "Please enter your firstname", 
      Lname: "Please enter your lastname", 
      Phone: "Please enter your phone number", 
      email: "Please enter a valid email address" 

     } 
    }); 

</script> 


      </div> 

    </div> 
+1

Das hat nichts mit PHP – mrid

+0

Eine Bearbeitungsanforderung zu tun wäre besser @mrid sein Da der Benutzer neu zu Stackoverflow ist –

Antwort

0

Durch die Einstellung debug : true in jQuery.validator.setDefaults Sie jQuery Validate-Plugin sagen, die Sie debuggen wollen und tun nicht den Wunsch, gerade jetzt das Formular abzuschicken.

Set debug als false statt.

Entfernen Sie auch return validate() von onsumbit

+0

Ich habe die Rückgabe validate() entfernt und debug auf false gesetzt, aber es gibt mir nur die Warnung b ox bei erfolgreicher Validierung und geht nicht mit der Aktion des Formulars nach test.php weiter – randsie

+0

Vielleicht gibt es einen anderen Fehler, öffnen Sie die Entwicklerkonsole, indem Sie F12 drücken und prüfen Sie, welchen Fehler Sie bekommen? Ich kopiere deinen gleichen Code und mache die 2 obigen Schritte und es wurde dann umgeleitet! – gabbarsingh

+0

Ich konnte nicht herausfinden, wo die Umleitung zu post-test.php in den Entwicklertools zu sehen ist, aber ich habe den Code angepasst. wenn ich geändert habe submitHandler: function() { alert ("eingereicht!"); } – randsie

0

Seine Arbeiten, Entfernen Sie einfach onsubmit="return validate();" von Form:

jQuery.validator.setDefaults({ 
 
    debug: true, 
 
    success: "valid", 
 
    submitHandler: function() { 
 
    alert("submitted!"); 
 
    } 
 
}); 
 
$("#myform").validate({ 
 
    rules: { 
 
    chkbox: { 
 
     required: true, 
 
    }, 
 
    Fname: "required", 
 
    Lname: "required", 
 
    Phone: "required", 
 
    Address: "required", 
 
    email: { 
 
     required: true, 
 
     email: true 
 
    }, 
 

 
    }, 
 
    messages: { 
 
    Fname: "Please enter your firstname", 
 
    Lname: "Please enter your lastname", 
 
    Phone: "Please enter your phone number", 
 
    email: "Please enter a valid email address" 
 

 
    } 
 
});
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"> 
 
</script> 
 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional- 
 
methods.min.js"></script> 
 

 
<!------- Web page Content ------> 
 

 

 
<div id="content"> 
 

 

 
    <h2> Register with GTB Financial Solutions </h2> 
 

 
    <form method="post" action="post-test.php" id="myform" name="myform" > 
 

 
    How to maximise profits on managed funds<input type="checkbox" name="chkbox"><br> Minimising tax in the new environment<input type="checkbox" name="chkbox"><br> Measuring stock momentum<input type="checkbox" name="chkbox"><br> Economic forecasts 
 
    <input 
 
     type="checkbox" name="chkbox"><br> Creative accounting for management<input type="checkbox" name="chkbox"><br> The exciting new features of the ATO web site<input type="checkbox" name="chkbox"><br><br> 
 
     <label for="Fname">First Name</label><br> 
 
     <input type="text" name="Fname" id="Fname"><br> 
 
     <label for="Lname">Last Name</label><br> 
 
     <input type="text" name="Lname" id="Lname"><br> 
 
     <label for="Phone">Phone Number</label><br> 
 
     <input type="text" name="Phone" id="Phone"><br> 
 
     <label for="E-mail">E-mail Address</label><br> 
 
     <input type="email" name="email" id="email"><br> 
 
     <label for="Address">Address</label><br> 
 
     <input type="text" name="Address" id="Address"><br> 
 

 
     <input type="submit" value="submit"> 
 
    </form> 
 

 
</div>