表单验证错误

Error with form validation

我在验证表单时遇到错误。

这是 javascript:

function ValidateForm(){
email=document.getElementbyId("email").value;
confirmemail=document.getElementById("confirmemail").value;
password=document.getElementById("password").value;
confirmpassword=document.getElementById("confirmpassword").value;
 errors = " ";

if (email == " ") {
erros += "Please enter your email \n";
}

emailcheck = /^.+@.+\..{2,4}$/;
if (email.match(emailcheck)) { }
else {
errors += "Please check your email \n";
}

if (email.match(confirmemail)) {}
else {
errors += "Email don't match \n";
}

if ( errors != "") {
alert(errors);
}
else { } 
}

这是 HTML 的表单部分:

<form action="/LoginData/" method="post">
<label>Email</label>
<input id="email" type="email" autocomplete="on" placeholder="Your email id"      name="email" required>
<label>Confirm Email</label>
<input id="confirmemail" type="email" autocomplete="off" placeholder="Confirm your Email id" name="confirmemail" required>
<br/>
<br/>
<label>Password</label>
<input id="password" type="password" name="password" placeholder="Password" required>
<label>Confirm Password</label>
<input id="confirmpassword" type="password" name="confirmpassword" placeholder="Confirm  your Password" required>
<br/>
<br/>
<input type="submit" name="submit" value="Create Account">
</form>

即使我输入错误的字段也不会显示警告消息。

(注意:我正在使用外部 JavaScript 文件)

我正在使用 IE8 的 javascript,因为我想让网页在其上正常运行。 而且它不会显示 IE 中任何字段的警报。 我正在尝试构建的示例:1http://aharrisbooks.net/jad/chap_07/validate.html

你必须把

onsubmit="return validateForm()"

所以

<form action="/LoginData/" method="post" onsubmit="return validateForm()">
<label>Email</label>
<input id="email" type="email" autocomplete="on" placeholder="Your email id"      name="email" required>
<label>Confirm Email</label>
<input id="confirmemail" type="email" autocomplete="off" placeholder="Confirm your Email id" name="confirmemail" required>
<br/>
<br/>
<label>Password</label>
<input id="password" type="password" name="password" placeholder="Password" required>
<label>Confirm Password</label>
<input id="confirmpassword" type="password" name="confirmpassword" placeholder="Confirm  your Password" required>
<br/>
<br/>
<input type="submit" name="submit" value="Create Account">
</form>

在表单标记中,以便在提交数据之前使用您的自定义验证。

您目前使用 HTML5 验证标记,因此即使您的自定义 JS 函数未被调用,您也应该看到 HTML5 使用新浏览器进行验证。您可以看到比其他浏览器更符合 HTML5 的浏览器:http://caniuse.com/#search=html5.

您需要在代码中调用 ValidateForm()。

在这种情况下,在提交时调用它是最好的选择,例如 onsubmit="return validateForm()"

还有骆驼大小写问题。应该是 getElementById 而不是 getElementbyId。在浏览器控制台中检查语法错误。