如果在未填写两个字段后显示错误消息,然后填写第二个字段(#phone),则表单仍然被阻止。表单也会在第一次发送时被阻止,甚至第二个字段也被填充。当第一个字段(#email)不为空时,表单总是被提交。
<form action="http://m.onet.pl" id="form" method="post">
<ul style="list-style:none">
<li>
<input type="text" id="email" name="email" placeholder="E-mail" />
<input type="text" id="phone" name="phone" placeholder="Phone" />
</li>
<li><button type="submit" name="sendad">Send form</button></li>
</ul>
</form>
的jQuery
$("#form").submit(function(e){
if(($('#email').val().length === 0 || $('#phone').val().length === 0)) {
e.preventDefault();
$('#msg').html("One of two fields is reuired");
}
});
参数有什么问题?
答案 0 :(得分:1)
简单错误:使用&&
而不是||
!
$("#form").submit(function(e){
if(($('#email').val().length === 0 && $('#phone').val().length === 0)) {
e.preventDefault();
$('#msg').html("One of two fields is required");
}
});