达到输入最大长度后禁止输入

时间:2014-10-08 19:50:06

标签: javascript jquery

我的页面上有一些输入需要最大长度的排序,这在一定程度上有效,除了因为我们正在使用的插件而增加了一个额外的数字...而且我不能不要去掉导致它的插件。

要解决此问题,我需要从输入字段中删除一个字符。我已经达到了将其从输入值中删除的程度,但它仍然显示在屏幕上......这就是问题。

有没有办法在使用JavaScript达到某一点后禁止输入?我不能在这种情况下使用最大长度,因为我们使用的虚拟键盘完全忽略了它。

我有类似的东西

var target = event.currentTarget;
var name = $(target).attr("name");
var validationLength = $(target).attr("validation").length;

$('input[name="'+name+'"]').on('keyup keydown change', function () {
    if($(this).val().length > validationLength){
        $(this).val().substr(0,$(this).val().length-1);
    };
});

就像我说过这会将它从输入的值中删除,而不是用户实际在屏幕上看到的内容(最重要的部分)。任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:1)

validationLength = 10;

$('#test').on('keyup keydown change', function () {
    if($(this).val().length > validationLength){

        val=$(this).val().substr(0,$(this).val().length-1);
        $(this).val(val);
    };
});

http://jsfiddle.net/mctkpLph/