Javascript ELSE IF语句不验证信息
验证表单一直运行良好,但我现在尝试将电子邮件验证添加到代码中,现在没有任何内容可以验证,表单提交时没有任何弹出错误框 以下是当前代码:Javascript ELSE IF语句不验证信息,javascript,if-statement,Javascript,If Statement,验证表单一直运行良好,但我现在尝试将电子邮件验证添加到代码中,现在没有任何内容可以验证,表单提交时没有任何弹出错误框 以下是当前代码: <script type="text/javascript"> function validateForm(){ var a=document.forms["order_form"]["fname"].value; var b=document.forms["order_form"]["address"].va
<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>
函数validateForm(){
var a=document.forms[“order_form”][“fname”]值;
var b=文件.forms[“订单”][“地址”]。值;
var c=document.forms[“order_form”][“city”]值;
var d=document.forms[“order_form”][“pcode”]值;
var e=文件.表格[“订单”][“电子邮件”].值;
var atpos=email.indexOf(“@”)值;
var dotpos=email.lastIndexOf(“.”)值;
如果(a==null | | a==“”)
{
警告(“必须填写全名”);
返回false;
}
else如果(b==null | | b==“”)
{
警报(“必须填写地址”);
返回false;
}
else如果(c==null | | c==“”)
{
警报(“必须填写城市”);
返回false;
}
else如果(d==null | | d==“”)
{
警报(“必须填写邮政编码”);
返回false;
}
else如果(e==null | | e==“”)
{
警报(“必须填写电子邮件地址”);
返回false;
}
else if(atpos表格可能由于以下错误而提交
更改:
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;
到
indexOf()
返回一个不是对象的数字,因此没有值
属性
另外,正如@fpierrat电子邮件应该是e
所注意到的,在以下内容之前,我没有看到任何电子邮件声明:
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;
也许你的意思是e
,而不是email
在调用indexof()
之后,也要删除.value
,请看@charlieftl的回答,我们在这方面是非常互补的;-)是电子邮件
肯定是字符串吗?我怎么会错过.value
的结尾?!+1谢谢你的帮助!!我错过了这部分…电子邮件
没有定义
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;