ELSE IF语句没有验证信息
ELSE IF Statement not validating information
验证表单一直工作良好,但我现在已经尝试添加电子邮件验证到代码,现在没有任何将验证,表单提交没有任何弹出错误框。
这是当前代码:
<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
我没有看到以下邮件之前的任何声明:
var atpos=email.indexOf("@").value;
var dotpos=email.lastIndexOf(".").value;
也许你指的是e
,而不是email
?
在indexof()
调用之后也删除.value
,参见@charlieftl的回答,我们对此相当补充;-)
相关文章:
- regex表达式不适用于验证信用卡到期信息
- 验证启动但不启动't显示故障信息.我错过了什么?MVC 5 Razor
- 正在尝试获取有关已验证用户的信息
- JavaScript 验证 PHP 电子邮件使用字段中添加的信息
- 在 JavaScript 中验证 URL 信息
- 如何验证表单并将信息获取到另一个表单
- 是否需要对HTML表单中的静态信息进行客户端验证
- ELSE IF语句没有验证信息
- 从Facebook检索已验证的用户信息
- 如何结合jquery验证的错误信息
- jQuery验证,将错误信息放在复选框和单选按钮组的下面
- 我如何在引导中验证至少有一个复选框被标记并将此信息传递给php ?
- 如何在弹出窗口中显示jquery验证错误信息
- 在文本字段中输入验证和显示信息
- jQuery验证被加载,但不显示错误信息
- 正在从会话中存储的web浏览器读取身份验证信息
- 在angularjs的表单验证中,表单提交前显示错误信息
- Javascript, PHP和SQL安全-接收信息的基本验证
- jQuery验证的不同错误信息
- 验证复制/克隆输入字段是否具有相同的信息