2016-10-10 1 views
-1

Hey Leute, wirklich grundlegende Problem hier habe ich Probleme mit. Dies ist das erste Mal, dass ich Validierungen von Grund auf neu codiere und nicht herausfinden kann, warum sie nicht funktionieren. Wenn ich auf meine Absenden-Schaltfläche klicke, gehe ich einfach zur Seite "Ihre Datei wurde nicht gefunden". Es bestätigt meine Validatoren überhaupt nicht. Eingabe auf Validatoren im Allgemeinen, und wie man dies verbessert oder behebt, würde sehr geschätzt werden.Einfache Validatoren funktionieren nicht, neu bei benutzerdefinierten Validatoren

<DOCTYPE!> 
 
<html> 
 
    <head> 
 
     <script src="gen_validatorv4.js" type="text/javascript"></script> 
 

 
     <link rel="stylesheet" type="text/css" href="style.css"> 
 

 
     <body> 
 
     <div id= "videoGameCircuit"> 
 
      <img src="Images/vg.jpg" width="900" height="400" alt="video game circuit" /> 
 
     </div> 
 
     <div> 
 
      <form action="myForm" onsubmit="return validateForm()" method="post"> 
 
      Name: <input type="text" name="name" value="" size="25" maxlength="50" /><br> 
 
      Email: <input type="text" name="email" value="" size="25" maxlength="50" /><br> 
 
      <input type="submit" name="submit" value="sign me up!" /> 
 
      </form> 
 
      <script type="text/javascript"> 
 
      var frmvalidator = new Validator("myForm"); 
 
      //where myform is the name/id of your form 
 

 
      var ele = myForm; ele.addEventListener("submit", function(e){e.preventDefault(); 
 
     
 

 
      frmvalidator.EnableOnPageErrorDisplaySingleBox(); 
 
      frmvalidator.EnableMsgsTogether(); 
 

 

 
      frmvalidator.addValidation("name","req","Please enter your name"); 
 
      frmvalidator.addValidation("name","maxlen=20", \t "Max length for name is 20"); 
 
      frmvalidator.addValidation("name","alpha_s","Name can contain alphabetic chars only"); 
 
      </script> 
 
     </div> 
 
     </body> 
 
    </head> 
 
</html>

+0

http://stackoverflow.com/questions/27918843/javascript-validate-form-before-submit .. http://stackoverflow.com/questions/27918843/javascript-validate-form-before-submit –

+0

Schauen Sie genau Dort. Sie haben ein Problem mit der Übermittlung des Formulars. Sie müssen dem Formular einen Listener hinzufügen, der die Standardübertragung verhindert. Dann können Sie Ihre Validierung und Zeug durchführen und später einreichen, wenn alles in Ordnung ist. Hier ist das Listener-Beispiel http://stackoverflow.com/questions/7410063/how-can-ilisten-to-the-form-submit-event-in-javascript .. Auch validateForm() -Methode? Haben Sie es? –

+0

@MykolaBorysyuk immer noch das gleiche Problem. –

Antwort

0

In Ihrem Fall müssen Sie, bevor Sie die Validierung Standard submiting der Form zu stoppen.

Also in Ihrem Fall so etwas.

var frmvalidator = new Validator("myForm"); 
     //where myform is the name/id of your form 
     frmvalidator.EnableOnPageErrorDisplaySingleBox(); 
     frmvalidator.EnableMsgsTogether(); 
     frmvalidator.addValidation("name","req","Please enter your name"); 
     frmvalidator.addValidation("name","maxlen=20", "Max length for name is 20"); 
     frmvalidator.addValidation("name","alpha_s","Name can contain alphabetic chars only"); 
//add id to form like id="myForm" 
document.querySelector("#myForm").addEventListener("submit", function(e){ 
    e.preventDefault(); //stop form from submitting 
    //run your validation code 
    var valid = frmvalidator.valid();//your custom validation method 
    if(!valid){ 
     //alert to user 
    } 
    else { 
     //submit form 
     e.submit(); 
    } 
}); 

Hoffe, das hilft.

+0

hinzufügen Kein Glück. Trotzdem danke. –

+0

Sie sicher, dass Sie onsubmit = "validateForm() zurückgeben" und ID zum Formular hinzufügen? –

+0

Ich habe keine Ahnung, wie das geht. Dies ist buchstäblich der erste Morgen, an dem ich jemals die benutzerdefinierte Ereignisbehandlung in der Webentwicklung betrachtet habe. –

Verwandte Themen