是否有规范的解决方案来限制某人可以进入textarea的字符数?
我当然有服务器端验证,但希望通过添加客户端代码来模拟输入[type =“text”]上使用maxlength获得的体验来改善用户体验,以便用户永远不会看到“你的输入太长“如果启用了javascript,则会出现错误消息。
答案 0 :(得分:23)
我的非技术性0.02美元
在评论字段中执行SO操作,提供有关用户剩余字符长度的反馈,并允许他们超过最大值,但不提交> 300个字符。原因如下:
答案 1 :(得分:5)
我会这样做:
$ ('#textarea-id').bind (
'change input keyup keydown keypress mouseup mousedown cut copy paste',
function () { return ($(this).val().length <= maxlength) }
)
如此多的叮当声完全确定: - )
答案 2 :(得分:1)
将onchange事件附加到textarea。在那里你可以检查值是否大于适当的值。 jQuery示例:
$("#textarea-id").change(function (){
var text = $(this).val();
if( text.length > MAX ){
return false;
}
});
答案 3 :(得分:1)
这样做......
function textareaMaxLen(event) {
var max = parseInt(this.attr("maxlength"), 10);
if(this.value.length >= max)
this.value = this.value.substr(0, max);
}
$("textarea").keyup(textareaMaxLen).blur(textareaMaxLen);
答案 4 :(得分:0)
我过去这样做过:
<textarea onkeyup="checkLength(this);"></textarea>
然后实现这个功能:
function checkLength(control) {
if (control.value.length > 5) {
control.value = control.value.substr(0, 5);
}
}
这是将长度固定为5的一个非常基本的例子,但希望能给你一个想法!