如果用户输入<最小长度,我想显示错误消息 这是我的代码..
<!DOCTYPE>
<HTML>
<form name="form" action="action.php" method="post" onsubmit="return validate()">
<span>Name</span><br>
<input type="text" name="firstName" id="firstName" maxlength="20">
<label id="error"></label> <label id="errorAlpha">
</label> <label id="errorMinOne"></label>
</HTML>
<javascript>
function validate()
{
var valid = true;
var alphabet =/^[a-zA-z ]+$/;
if(firstName.value.match(alphabet) || firstName.value=="")
{
document.getElementById('errorAlpha').innerHTML="";
}
else
{
document.getElementById('errorAlpha').innerHTML="*Invalid Name";
document.getElementById('errorMinOne').innerHTML="";
valid=false;
}
if(firstName.value.length<2)
{
document.getElementById('errorMinOne').innerHTML="*Name is too short";
valid =false;
}
else
{
document.getElementById('errorMinOne').innerHTML="";
}
}
if(firstName.value=="" && lastName.value=="")
{
document.getElementById('error').innerHTML="*Field is empty";
document.getElementById('errorTwo').innerHTML="*Field is empty";
document.getElementById('errorMinOne').innerHTML="";
valid = false;
}
if(firstName.value!="" && lastName.value=="")
{
document.getElementById('error').innerHTML="";
document.getElementById('errorTwo').innerHTML="*Field is empty";
valid = false;
}
if(firstName.value=="" && lastName.value!="")
{
document.getElementById('error').innerHTML="*Field is empty";
document.getElementById('errorTwo').innerHTML="";
valid = false;
}
if(firstName.value!="" && lastName.value!="")
{
document.getElementById('error').innerHTML="";
document.getElementById('errorTwo').innerHTML="";
}
</javascript>
错误是当我输入 1 时,它同时显示*无效名称和*名称太短,我希望它仅显示*无效名称..请帮助谢谢
最佳答案
在每个 if
子句中,最后都返回 false:
if((firstName.value.match(alphabet) || firstName.value=="") && firstName.value.length<2)
{
document.getElementById('errorMinOne').innerHTML="*Name is too short";
return false;
}
关于javascript - 如果用户输入的长度小于最小长度,则显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425962/