CSS / jQuery - 限制所有动态生成的文本框的字符数

时间:2011-11-08 23:57:17

标签: jquery css jeditable

我使用jEditable进行内联编辑,因此当用户双击文本时,它将变为文本框。

我需要限制用户可以在文本框中输入的字符数,但由于文本框是从插件生成的,所以我无法使用这样的内联样式:

 <input type="text" name="name" maxlength="100" />

知道如何在css中设置所有文本框的样式,这样用户就不能输入超过30个字符吗?

非常感谢...

2 个答案:

答案 0 :(得分:3)

我有点困惑。如果您已经在使用jQuery,是否有理由不使用它来限制长度?

http://jsfiddle.net/rkw79/TvDvd/2/

$('body').delegate('input[type="text"]','focus', function() {
    $(this).attr('maxLength',100);
});

限制文字区域,只是因为jEditable使用:http://jsfiddle.net/rkw79/TvDvd/3/

$('body').delegate('input[type="text"], textarea','focus', function() {
    $(this).attr('maxLength',100);
});

答案 1 :(得分:1)

你必须做那样的事情:

$('input').attr('maxLength','25').keypress(maxLength);

function maxLength(e) {
    if(window.event) // IE
    {
        keynum = e.keyCode
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which
    }


    if (keynum  == 8) { return true; }
        return this.value.length < $(this).attr("maxLength");
}