我有这样的表格:
<form action="../scrapll_m_nonstatic/process/reg/signup_process.php" method="post" name="signUp" onsubmit="return signUpVal()">
<div id="fieldHolder">
<input type="text" id="accountFieldFirstName" class="accountField" name="firstName" placeholder="First Name" />
<input type="text" id="accountFieldLastName" class="accountField" name="lastName" placeholder="Last Name" />
<input type="text" id="accountFieldUsername" class="accountField" name="username" placeholder="Username" />
<input type="text" id="accountFieldEmail" class="accountField" name="email" placeholder="Email Address" />
<input type="password" id="accountFieldPassword" class="accountField" name="password" placeholder="Password" />
</div>
<div id="subFooter">
<a data-ftrans="slide reverse" href="index.php" id="signUpButton">Sign In</a>
<a data-ftrans="slide" href="forgot.php" id="forgotButton">Forgot password</a>
</div>
<div id="footer">
<input type="submit" id="signIn" value="Sign Up" />
</form>
我有这个JS表单验证脚本来检查表单是否为空:
function signUpVal()
{
var firstName = document.forms["signUp"]["firstName"].value;
var lastName = document.forms["signUp"]["lastName"].value;
var userName = document.forms["signUp"]["userName"].value;
var email = document.forms["signUp"]["email"].value;
var password = document.forms["signUp"]["password"].value;
if (firstName == null || lastName == "" || lastName == null || lastName == "" || userName == null || userName == "" || email == null || email == "" || password == null || password = "")
{
alert("Please fill out the form completely");
return false;
}
}
它没有做任何事情直接进入动作PHP脚本。我该如何解决这个问题?
答案 0 :(得分:1)
你有两个错误:
1)。 JS代码中输入的用户名的名称不匹配。解决这个问题:
<input type="text" name="userName" id="accountFieldUsername" class="accountField" placeholder="Username" />
而不是name="username"
2)。检查您的值如下:
if (firstName == "" || lastName == "" || userName == "" || email == "" || password == "") {
alert("Please fill out the form completely");
return false;
}
此外,您不需要== null
检查,因为表单元素值不能为空,如果留空则为空字符串。
答案 1 :(得分:0)
我认为这可能是你的问题。
您正在使用赋值运算符=
而不是比较运算符==
。
你的if条件应该是:
if (firstName == null || lastName == "" || lastName == null || lastName == "" || userName == null || userName == "" || email == null || email == "" || password == null || password == "")
{
alert("Please fill out the form completely");
return false;
}
答案 2 :(得分:0)
最后一个&#34; =&#34; (而#34; ==&#34;)if(firstName == null .. etc)语句被IE视为语法错误,因此整个脚本没有编译。
Firefox说同样的事情,但令人惊讶的是他们都没有弹出突出显示它。仅在单击F12进行调试时才可见。
这意味着函数signUpVal()没有编译,因此就页面而言它并不存在 - 所以表单刚刚提交。
dfsq的回答提供了其余的