设置maxlength输入JQuery失败

时间:2015-08-30 12:04:51

标签: jquery html

我希望在用户输入时使用JQuery为maxlength设置input[type='text']属性。因此,当input[type='text']达到最大值时,它将无法继续。

这是我的代码

$(document).ready(function(){
    $('input#nama').keyup(function(){
        if(check($('input#username'),5)){
            e.preventDefault();
            e.stopPropagation();
        } else {
            $('input#username').val($(this).val());
        }
    });

    function check(text,max){
        if(text.length > 5){
           return true;
        } else {
           return false;
        }
    }
});

问题是input[type='text']虽然已达到最大值

,但仍继续填充

1 个答案:

答案 0 :(得分:0)

因为check函数的第一个参数是string并且您正在传递DOM对象。调用函数check时传递input的值而不是传递完整对象。请考虑以下事项:

check($('input#username').val(),5)
                         ^^^^^^ ===> //Calling function pass value 

完整代码:

$(document).ready(function(){
    $('input#nama').keyup(function(){
        if(check($('input#username').val(),5)){ //updated here
            e.preventDefault();
            e.stopPropagation();
        } else {
            $('input#username').val($(this).val());
        }
    });

    function check(text,max){
        if(text.length > 5){
            return true;
        } else {
            return false;
        }
    }
});