Ich versuche, beide Felder E-Mail-Adresse und Name zu validieren, aber nur E-Mail wird validiert und es wird nicht auf Namensfeld überprüft. Ich kann nicht herausfinden, was im Code falsch ist.Validierung mit Java-Skript
<html>
<body>
<form name="myForm">
Email: <input type="text" name="email" id="email2">
<br>
Name: <input type="text" name=" fname">
<button type="submit" name="submit" onclick="validateForm()">submit</button>
<br> email
<div id="email1"></div>
</form>
</body>
<script>
function validateForm() {
var x = document.forms["myForm"]["email"].value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
return false;
}
var email1 = document.getElementById("email2").value;
document.getElementById("email1").innerHTML=email1;
var y = document.forms["myForm"]["fname"].value;
if (y==null ||y=="") {
alert("name must be filled");
return false;
}
}
</script>
</html>
das, weil ist, wenn E-Mail ungültig ist 'return false;' wird die Steuerung zurückzukehren und die Code unten wird nicht ausgeführt. – Tushar
Sie können HTML5-Validierungen verwenden. ' –
Tushar
Die Validierung sollte im Übergabehandler des Formulars erfolgen, da das Formular ohne Klicken auf die Schaltfläche Senden gesendet werden kann. Wenn Sie einer Formularkontrolle den Namen "submit" geben, wird es unmöglich, die Methode * submit * des Formulars aufzurufen. – RobG