[英]returning more than one method on submit html form
我有两个单独的JS方法来验证电子邮件和密码。 我的问题是,当我在html表单的提交中返回两个方法时,即使验证失败,该表单也会通过,但是当我仅返回一个方法时,它就可以正常工作!
<form method="POST" action="http://127.0.0.1:3000/" enctype="multipart/form-data" name="form" onsubmit="return validateEmail(), checkPassword();">
<div class="reservation">
<div class="section_room">
<h5>Enterprise ID: </h5>
<input name="enterpriseID" type="text" name="uName" id="uName" placeholder="me@me.com" class="textbox" required>
</div>
<div class="section_room">
<h5>Password: </h5>
<input name="password" type="password" name="PassWd" id="passWd" placeholder="Password1!" class="textbox" required>
</div>
<input type="submit" value="Login" style="width: 280px;">
<div class="clear"></div>
</ul>
</div>
</form>
和我的JS是:
</script>
function validateEmail(){
var email = document.getElementById('uName');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value))
{
alert('Please provide a valid email address');
email.focus;
return false;
}
else
return true;
}
function checkPassword()
{
var pass = document.getElementById('passWd');
var re = /^(?=(.*\d){1})(?=.*[a-zA-Z])(?=.*[!@#$%^&*])[0-9a-zA-Z!@#$%]{8,}/;
if (!re.test(pass.value))
{
alert('Your Password does not meet the minimun requirements');
email.focus;
return false;
}
else
return true;
}
</script>
我在哪里错了,或者这有可能吗?
更改您的onsubmit
以使用逻辑AND( &&
)检查两个值:
与布尔值一起使用时,
&&
如果两个操作数都为true,则返回true;否则为false。 否则,返回false。
onsubmit="return validateEmail() && checkPassword();"
现在,如果validateEmail
和 checkPassword
都为true,则返回true。 但是,如果任何一个为假,它将返回假。
添加一些逻辑:
function b(){return true&&false;} //false
function b(){return true||false;} //true
你需要:
onsubmit="return validateEmail()&&checkPassword();"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.