Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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错误消息?_Javascript - Fatal编程技术网

如何从表单提交创建简单的JavaScript错误消息?

如何从表单提交创建简单的JavaScript错误消息?,javascript,Javascript,我是JavaScript新手,买了Jon Duckett的书,但我不喜欢他描述的创建/显示错误消息的方式——有人能告诉我,如果名称字段为空,如何显示错误消息吗?非常感谢。以下是我的表单的HTML: <form action="form.php" method="post"> <fieldset> <legend>Your Details&#58;</legend> <label for="name">Name&#58;&

我是JavaScript新手,买了Jon Duckett的书,但我不喜欢他描述的创建/显示错误消息的方式——有人能告诉我,如果名称字段为空,如何显示错误消息吗?非常感谢。以下是我的表单的HTML:

<form action="form.php" method="post">
<fieldset>
<legend>Your Details&#58;</legend>
<label for="name">Name&#58;</label><br>
<input type="text" name="name" id="name" required="required"><br>
<label for="email">Email&#58;</label><br>
<input type="text" name="email" id="email"><br>
<label for="telephone">Telephone&#58;</label><br>
<input type="text" name="telephone" id="telephone">
</fieldset>
<br>
<fieldset>
<legend>Your Information&#58;</legend>
<p>
<label for="service">What service are you inquiring about?</label>
<select name="service" id="service">
<option value="Collision">Collision</option>
<option value="Mechanical">Mechanical</option>
<option value="Custom">Custom</option>
<option value="Other">Other</option>
</select>
</p>
<label for="comments">Comments&#58;</label>
<br>
<textarea name="comments" id="comments" rows="4" cols="40"></textarea>.    
<input type="submit" value="Submit"/>
</fieldset>
</form>

您的详细信息:;
姓名:

电子邮件:

电话:

您的信息:; 你在询问什么服务? 碰撞 机械的 习俗 其他

评论:;
.
签出此链接,此链接显示如何执行简单的JavaScript表单验证

HTML代码

<form name="myForm" onsubmit="return validateForm()" action="form.php" method="post">
<fieldset>
<legend>Your Details&#58;</legend>
<label for="name">Name&#58;</label><br>
<input type="text" name="name" id="name"><br>
<label for="email">Email&#58;</label><br>
<input type="text" name="email" id="email"><br>
<label for="telephone">Telephone&#58;</label><br>
<input type="text" name="telephone" id="telephone">
</fieldset>
<br>
<fieldset>
<legend>Your Information&#58;</legend>
<p>
<label for="service">What service are you inquiring about?</label>
<select name="service" id="service">
<option value="Collision">Collision</option>
<option value="Mechanical">Mechanical</option>
<option value="Custom">Custom</option>
<option value="Other">Other</option>
</select>
</p>
<label for="comments">Comments&#58;</label>
<br>
<textarea name="comments" id="comments" rows="4" cols="40"></textarea>.    
<input type="submit" value="Submit"/>
</fieldset>
</form>
function validateForm() {
    var x = document.forms["myForm"]["name"].value;
    if (x === "") {
        alert("Name must be filled out");
        return false;
    }
}
在此处检查功能

您必须创建一个新元素(span,div…),并在其中写入一个错误,然后将该元素附加到表单字段后面\之前,这会导致该错误。作为一种好方法,您可以创建一个对象,例如
{fieldName:{errorMessage,validationRule}
,其中fieldName是您需要验证的字段名,errorMessage是error,您在错误时显示它,validationRule是regexp,告诉您如何验证该字段。或者您可以对所有这些参数进行硬编码。:)


另外,有很多方法可以验证表单、获取错误并显示它们。你可以很容易地搜索它,并为自己选择最好的。

他描述了实现它的方式是什么?你是如何实施的?您遇到了哪些错误/问题?如果你像你说的那样“不是一个粉丝”,这并不意味着作者的方法论是错误的,你是在要求其他人为你写代码,这是离题的。谢谢,我正在看链接。这部分代码对document.forms意味着什么?var x=document.forms[“myForm”][“fname”].value;该部分将获取用户在html表单中输入到JavaScript部分的值,并将其存储在变量x中,因此可以使用该变量进行验证。“myForm”是表单的名称,可以通过为表单标记设置名称属性来指定。“fname”是您案例中输入字段的名称,是“name”。谢谢您的链接。在HTML页面中链接脚本后,使其正常工作。如果我想要错误消息而不是警报框,我该怎么办?您可以使用
id=“error”
在html文件中创建一个空div,然后使用
document.getElementById(“error”).innerHTML=“error message”如果您发现我的答案有用,请通过勾选答案旁边的勾号,而不是警告框,来标记答案是否正确。