2017-04-21 19 views
0

Ich erstelle ein Formular für ein Projekt und ich muss eine Validierungsregel festlegen, so dass, wenn nichts für den Namen eingegeben wird, eine Warnung erscheint, die dem Benutzer sagt, dass ein "Name ausgefüllt werden muss" Rookie Fehler, aber ich bin mir nicht ganz sicher, warum es nicht funktioniert, da ich neu bei Javascript bin.Warum funktioniert meine Formularvalidierung nicht korrekt?

Ich habe das CSS nicht als unnötig enthalten. Ich poste die Informationen auch noch nicht auf irgendwas.

<head> 
 
<script> 
 
function validateForm() { 
 
    var x = document.forms["myForm"]["fname"].value; 
 
    if (x == "") { 
 
     alert("Name must be filled out"); 
 
     return false; 
 
\t \t </script> 
 
</head> 
 

 

 
<body> 
 
<div class="form_settings"> 
 
      <form name="MyForm" onSubmit="return validateForm()" 
 
method="post"> 
 
      <p><span>Name</span><input class="contact" type="text" 
 
    name="fname" value="" /></p> 
 
      <p><span>Email Address</span><input class="contact" type="text" 
 
    name="your_email" value="" /></p> 
 
      <p><span>Re type Email Address</span><input class="contact" 
 
type="text" name="your_email" value="" /></p> 
 
      <p><span>Message</span><textarea class="contact textarea" 
 
rows="8" cols="50" name="your_enquiry"></textarea></p> 
 
      <p style="padding-top: 15px"><span>&nbsp;</span><input 
 
class="submit" type="submit" name="contact_submitted" value="Submit" /></p> 
 
      </form> 
 

 
</body> 
 

+0

Syntax völlig falsch ist. Überprüfen Sie die Konsole Ihres Browsers. – SaidbakR

+1

Sie haben zwei Syntaxfehler mit fehlenden schließenden Klammern. Auch bei Namen wird die Groß-/Kleinschreibung beachtet, also 'document.forms [" MyForm "] ...'. – RobG

Antwort

0

Try this:

function validateForm() { 
 
    var x = document.getElementsByClassName("contact")[0].value; 
 
    if (x == "") { 
 
     alert("Name must be filled out"); 
 
    } 
 

 
    return false; 
 
}
<form name="MyForm" onsubmit="validateForm();"> 
 
     <p><span>Name</span> 
 
      <input class="contact" type="text" name="fname" value="" /> 
 
     </p> 
 
     <p><span>Name</span><input class="contact" type="text" name="fname" value="" /></p> 
 
     <p><span>Email Address</span><input class="contact" type="text" name="your_email" value="" /></p> 
 

 
     <p><span>Re type Email Address</span><input class="contact" type="text" name="your_email" value="" /></p> 
 

 
     <p><span>Message</span><textarea class="contact textarea" rows="8" cols="50" name="your_enquiry"></textarea></p> 
 

 
     <p style="padding-top: 15px"><span>&nbsp;</span> 
 
      <input class="submit" type="submit" value="submit" /> 
 
     </p> 
 
    </form>

Verwandte Themen