我的代码出现问题。 Chrome控制台中没有错误,但它无法正常工作。我想计算输入的密码字符。条件是密码必须至少为6个字符。
$(document).ready(function() {
$(".submit").click(function() {
if($('#regform input[type="password"]').val().length > 6) {
$('.error').html('Must have a min of 6 chars');
$('.error').css("display","block");
}
}
});

任何人都能为我解释一下吗?
答案 0 :(得分:4)
问题是即使发生了错误,也没有什么可以阻止表单。您需要添加return false
或event.preventDefault()
才能实际停止发送表单。您没有收到错误,因为在您看到弹出的错误消息之前,表单会立即继续显示在action
页面。
其次,如果密码长度大于,则您的条件会引发错误。这应该是相反的。
将您的代码更改为以下内容:
$(document).ready(function() {
$(".submit").click(function(event) {
// SWITCH THE COMPARISON OPERATOR
if($('#regform input[type="password"]').val().length < 6) {
$('.error').html('Must have a min of 6 chars');
$('.error').css("display","block");
// ADD THIS LINE
event.preventDefault();
// OR THIS LINE
return false;
}
})
});
欲了解更多信息:
答案 1 :(得分:1)
也许这就是你要找的东西:
HTML
<input type="text" id="password" />
<input type="button" class="btnSubmit" value="Submit" />
<p class="error"></p>
的jQuery
$('.btnSubmit').click(function(){
if($("#password").val().length < 6){
$('.error').html('Must have a min of 6 chars');
}else{
$('.error').html('Good to go.');
}
});
JSFiddle:https://jsfiddle.net/Ltnrwt0t/