Javascript 使用Java脚本和打印进行验证
我有一个HTML表单,如果字段留空,Javascript将在字段内打印错误。请有人给我一段代码,将验证表单,然后将打印错误的表单顶部,如果它留空,而不是在表单的字段内 我的表格:Javascript 使用Java脚本和打印进行验证,javascript,html,Javascript,Html,我有一个HTML表单,如果字段留空,Javascript将在字段内打印错误。请有人给我一段代码,将验证表单,然后将打印错误的表单顶部,如果它留空,而不是在表单的字段内 我的表格: <form id="contact" onsubmit="checkContactForm(); return false;" onreset="resetForm();"> <p>Fill in the form below to send me a message!</p>
<form id="contact" onsubmit="checkContactForm(); return false;" onreset="resetForm();">
<p>Fill in the form below to send me a message!</p>
<div id="errormessage"></div>
<p>
<label for=""> </label>
<input type="text" name="" id="" onfocus="" />
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" onfocus="resetField(this);" />
</p>
<p>
<label for="email">E-mail address:</label>
<input type="text" name="email" id="email" onfocus="resetField(this);" />
</p>
<p>
<label for="message">Your Message:</label>
<textarea name="message" id="message" rows="5" cols="25" onfocus="resetField(this);"></textarea>
</p>
<p>
<button type="submit">Send Message</button>
<button type="reset">Reset Form</button>
</p>
因为HTML5有一个表单验证API()
在这里你可以找到一个非常好的“教程”:如果我知道你想要,错误将打印在#errormessage div中,对吗? 如果是这样,您可以简单地执行以下操作:
function addError(str){
document.getElementById("errormessage").innnerHTML = document.getElementById("errormessage").innerHTML + str + "<br>";
}
function checkContactForm() {
var myForm = document.forms[0];
for (i in requiredFields) {
fieldName = requiredFields[i];
if (!myForm[fieldName].value || myForm[fieldName].value == "Error") {
myForm[fieldName].style.color = "#f66";
myForm[fieldName].value = "";
var emptyFields = true;
addError(fiedlName+" is empty!");
}
}
if (!emptyFields) { myForm.submit(); }
}
函数加法器(str){
document.getElementById(“errormessage”).innnerHTML=document.getElementById(“errormessage”).innerHTML+str+“
”;
}
函数checkContactForm(){
var myForm=document.forms[0];
for(我在必填字段中){
fieldName=必填字段[i];
如果(!myForm[fieldName].value | | myForm[fieldName].value==“错误”){
myForm[fieldName].style.color=“#f66”;
myForm[fieldName].value=“”;
var emptyFields=true;
addError(fiedlName+“为空!”);
}
}
如果(!emptyFields){myForm.submit();}
}
请注意,HTML5表单验证在不识别HTML5的旧浏览器(如IE7和IE8)中不起作用。Mozilla开发者网络也远比W3Schools好。使用for(requiredFields中的vari){
,这样i
就不会泄漏到全局范围
function addError(str){
document.getElementById("errormessage").innnerHTML = document.getElementById("errormessage").innerHTML + str + "<br>";
}
function checkContactForm() {
var myForm = document.forms[0];
for (i in requiredFields) {
fieldName = requiredFields[i];
if (!myForm[fieldName].value || myForm[fieldName].value == "Error") {
myForm[fieldName].style.color = "#f66";
myForm[fieldName].value = "";
var emptyFields = true;
addError(fiedlName+" is empty!");
}
}
if (!emptyFields) { myForm.submit(); }
}