我有以下功能限制您可以输入文本区域的字符数。
如果文本长度高于文本限制,请在提交按钮上设置disabled="disabled"
的属性,但它没有设置,我的功能代码如下:< / p>
function limitChars(textid, limit, infodiv) {
var text = $('#'+textid).val();
var textlength = text.length;
if(textlength > limit) {
$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
$('input#submit').attr('disabled', 'disabled');
} else {
$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
}
}
具体是$('input#submit').attr('disabled', 'disabled');
位不起作用。
有什么想法吗?
答案 0 :(得分:1)
使用$('input#submit').attr('disabled', true);
。
如果您需要再次启用它,请使用
.removeAttr('disabled');
答案 1 :(得分:0)
你看到你的信息消息'你不能写更多.....'?
尝试将选择器更改为“:input#submit”。确保提交按钮的ID是“提交”并记住,IE区分大小写。
答案 2 :(得分:0)
如果按元素ID引用,只需使用$(“#submit”)即可,我认为
答案 3 :(得分:0)
你的功能有效。你是如何约束文本的?你应该使用keyup:
$('#textarea').keyup(function() {
limitChars('textarea', 4, 'info');
});
limitChars('textarea', 4, 'info'); // run this initially as well
答案 4 :(得分:0)
我发布了a demo,似乎可以使用此代码:
$(document).ready(function(){
$('#test').keyup(function(){
limitChars( this.id, 20, 'info')
})
})
function limitChars(textid, limit, infodiv) {
var text = $('#'+textid).val();
var textlength = text.length;
if(textlength > limit) {
$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
$('input#submit').attr('disabled', 'disabled');
} else {
$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
$('input#submit').removeAttr('disabled');
}
}