Jquery如果密码字符计数条件

时间:2016-08-09 02:25:13

标签: javascript jquery

我的代码出现问题。 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");
    }
  }
});	




任何人都能为我解释一下吗?

2 个答案:

答案 0 :(得分:4)

问题是即使发生了错误,也没有什么可以阻止表单。您需要添加return falseevent.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/