表单验证错误
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。在浏览器控制台中检查语法错误。
我在验证表单时遇到错误。
这是 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。在浏览器控制台中检查语法错误。