使用Jquery进行表单验证以检查字符长度

时间:2013-06-19 15:35:55

标签: jquery forms validation

我正在尝试使用JQuery来计算每个输入字段中有多少个字符。

目前我有这段代码:

$(document).ready(function(){
$('#add_post_title').keyup(function(){

        var max = 25;
        var len = $(this).val().length;

        if(len > max){
            $('#check_title').text('No');
        }else{
            var char = max - len;
            $('#check_title').text('Yes');
        }

    });

    $('#add_post_desc').keyup(function(){

        var max = 25;
        var len = $(this).val().length;

        if(len > max){
            $('#check_desc').text('No');
        }else{
            var char = max - len;
            $('#check_desc').text('Yes');
        }

    });
});

和html表单(简化了一点):

<form>
<div id="check_title"><p>No</p></div>  <div id="check_post"><p>No</p></div>
<input type="text" name="title" class="post_input" id="add_post_title" placeholder="Title" /><br />
<textarea name="desc" id="add_post_desc" placeholder="Description"></textarea><br />
<input type="submit" name="submit" id="add_post_submit" value="Submit" />
</form>

为什么当文本输入到字段中时,“check”div中的文本不会更改为Yes?

由于

2 个答案:

答案 0 :(得分:2)

您使用的是check_desc而不是check_post:

        $('#add_post_desc').keyup(function(){

    var max = 25;
    var len = $(this).val().length;

    if(len > max){
        $('#check_post').text('No');
    }else{
        var char = max - len;
        $('#check_post').text('Yes');
    }

});

见这里:

http://jsfiddle.net/NxWnv/

答案 1 :(得分:1)

你的代码几乎没问题。除非对$('#add_post_desc')字段进行检查,否则将div check_desc设置为yes而不是div check_post

除此之外它工作正常。请检查此fiddle