Jquery限制输入框中的文本

时间:2012-09-13 16:35:27

标签: javascript jquery

我想限制输入文本字段中的字符数。

我正在使用的代码:

function limitText(field, maxChar){
    if ($(field).val().length > maxChar){
       $(field).val($(field).val().substr(0, maxChar));
    }
}

事件是onkeyup。 当我在输入字段中键入一些文本时,光标停留在文本的末尾,但是在文本的开头支持焦点,所以我看不到光标。

可能是个问题。

浏览器是FF,在IE和Chrome上它正常工作

2 个答案:

答案 0 :(得分:33)

你也可以这样做:

<input type="text" name="usrname" maxlength="10" />

使用jQuery实现这一点,你可以这样做:

function limitText(field, maxChar){
    $(field).attr('maxlength',maxChar);
}

答案 1 :(得分:6)

您的代码在FF中运行。以下是您的代码的略微修改版本:

$('input.testinput').on('keyup', function() {
    limitText(this, 10)
});

function limitText(field, maxChar){
    var ref = $(field),
        val = ref.val();
    if ( val.length >= maxChar ){
        ref.val(function() {
            console.log(val.substr(0, maxChar))
            return val.substr(0, maxChar);       
        });
    }
}

Demo