[英]JavaScript display multiple error message form submission?
What am I doing wrong in my JavaScript? 我的JavaScript在做什么错? I would like to display an error message if a user forgets to type in any of my HTML form fields.
如果用户忘记输入我的任何HTML表单字段,我想显示一条错误消息。 I would like to create an error message for the name, email, and phone number fields.
我想为名称,电子邮件和电话号码字段创建一条错误消息。 Even if a user puts in their name, I would like error messages for the remainder 2, or remainder 1, or no error messages.
即使用户输入了他们的姓名,我也希望获得余数2或余数1的错误消息,或者没有错误消息。 I have attached my JavaScript code below.
我在下面附加了我的JavaScript代码。 Thank you for those who help.
感谢您的帮助。
function validateForm() {
var ret = true;
var name = document.forms["contactform"]["name"].value;
if (name == "") {
document.getElementById('error').innerHTML = "Please enter your name";
ret = false;
}
var email = document.forms["contactform"]["email"].value;
if (email == "") {
document.getElementById('erroremail').innerHTML = "Please enter your email";
ret = false;
}
var phone = document.forms["contactform"]["phone"].value;
if (phone == "") {
document.getElementById('errorphone').innerHTML = "Please enter your phone";
ret = false;
}
return ret;
}
Create a variable called something like : 创建一个变量,如:
var fieldsInError = "";
Then in your validation in each check if it fails validation add the field: 然后在您的每次检查验证中,如果验证都失败,请添加字段:
fieldsInError += "name," (or whatever the field is)
Then at the end of the function update your error field with something like: 然后在函数末尾使用以下内容更新您的错误字段:
document.getElementById('error').innerHTML = "Please enter " + fieldsInError.substring(0, fieldsInError.length-1);
So your function would look something like this: 因此,您的函数将如下所示:
function validateForm() {
var fieldsInError = "";
var name = document.forms["contactform"]["name"].value;
if (name == "") {
fieldsInError += "name,"
}
var email = document.forms["contactform"]["email"].value;
if (email == "") {
fieldsInError += "email,"
}
var phone = document.forms["contactform"]["phone"].value;
if (phone == "") {
fieldsInError += "phone,"
}
if(fieldsInError != ""){
document.getElementById('error').innerHTML = "Please enter " + fieldsInError.substring(0, fieldsInError.length-1);
return false;
} else {
return true;
}
}
If you want separate error display for each input you could just add else
with empty innerHTML
. 如果要为每个输入单独显示错误,则可以添加
else
并添加空白的innerHTML
。
Something like this: 像这样:
var name = document.forms["contactform"]["name"].value;
var nameError = document.getElementById('error');
if (name == "") {
nameError.innerHTML = "Please enter your name";
ret = false;
} else {
nameError.innerHTML = "";
}
Full example here: https://jsfiddle.net/1h1tkh7y/ 此处的完整示例: https : //jsfiddle.net/1h1tkh7y/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.