Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Java脚本和打印进行验证_Javascript_Html - Fatal编程技术网

Javascript 使用Java脚本和打印进行验证

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>

我有一个HTML表单,如果字段留空,Javascript将在字段内打印错误。请有人给我一段代码,将验证表单,然后将打印错误的表单顶部,如果它留空,而不是在表单的字段内

我的表格:

<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(); }
}