【发布时间】:2015-08-27 23:29:40
【问题描述】:
作为 javascript 的新手,我正在尝试创建一个脚本来验证注册表单。简单的事情,如果 1 字段为空,则抛出相应的消息。我按照互联网上的教程成功管理它,它按我想要的方式工作,当 1 个字段为空时数据库不会更新。
但是有一个问题。当所有字段为空时,脚本不知何故未能注意到这一点并完美地进行注册。
我的脚本如下:
function validateForm()
{
var a=document.forms["Registration_Form"]["fname"].value;
var b=document.forms["Registration_Form"]["lname"].value;
var c=document.forms["Registration_Form"]["email"].value;
var d=document.forms["Registration_Form"]["username"].value;
var e=document.forms["Registration_Form"]["password"].value;
if ((a==null || a=="") && (b==null || b=="") && (c==null || c=="") && (d==null || d=="") && (e==null || e==""))
{
alert("All Field must be filled out");
return false;
}
if (a==null || a=="")
{
alert("First name must be filled out");
return false;
}
if (b==null || b=="")
{
alert("Last name must be filled out");
return false;
}
if (c==null || c=="")
{
alert("email adress must be filled out");
return false;
}
if (d==null || d=="")
{
alert("Username must be filled out");
return false;
}
if (e==null || e=="")
{
alert("Password must be filled out");
return false;
}
}
这是钻入我的大脑,让我疯狂好几个小时。 当一个字段完成而其余字段丢失时,我会收到第一个缺失字段的相应消息并且一切正常,注册被阻止。
但是当所有都丢失时,它就不会发生,注册成功并输入我数据库中的所有空白字段。
我不明白,就在这里,对吧?
if ((a==null || a=="") && (b==null || b=="") && (c==null || c=="") && (d==null || d=="") && (e==null || e==""))
{
alert("All Field must be filled out");
return false;
}
如果 fname 为空且 lname 为空且 email 为空且用户名为空且密码为空,则警告并返回 false。 我不明白,这么简单的事情怎么会有问题?我错过了什么?
即使这条线不存在,脚本不应该被困在剩下的只有 1 个子句的 if 中并在那里给出 false 吗?
【问题讨论】:
标签: javascript validation