验证表单一直工作正常,但我现在尝试将电子邮件验证添加到代码中,现在什么都不会验证,表单提交时没有任何弹出错误框。
这是当前代码:
<script type="text/javascript">
function validateForm(){
var a=document.forms["order_form"]["fname"].value;
var b=document.forms["order_form"]["address"].value;
var c=document.forms["order_form"]["city"].value;
var d=document.forms["order_form"]["pcode"].value;
var e=document.forms["order_form"]["email"].value;
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;
if (a==null || a=="")
{
alert("Full name must be filled out");
return false;
}
else if (b==null || b=="")
{
alert("Address must be filled out");
return false;
}
else if (c==null || c=="")
{
alert("City must be filled out");
return false;
}
else if (d==null || d=="")
{
alert("Post-Code must be filled out");
return false;
}
else if (e==null || e=="")
{
alert("Email Address must be filled out");
return false;
}
else if (atpos<1||dotpos<atpos+2||dotpos+2>=email.length)
{
alert("Not a valid e-mail address");
return false;
}
}
</script>
最佳答案
由于以下错误,表单可能正在提交
改变:
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;
到
var atpos=e.indexOf("@");
var dotpos=e.lastIndexOf(".");
indexOf()
返回一个数字而不是对象,因此没有 value
属性。
同样由@fpierrat 注意到 email
应该是 e
关于javascript - ELSE IF 语句不验证信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33356363/