Javascript 限制jquery中动态textarea的换行数
我试图限制可以在动态文本区域中输入的换行符的数量,但是我所做的代码不起作用。我需要设置至少4个新行,用户可以使。我还将maxlength设置为40个字符。Javascript 限制jquery中动态textarea的换行数,javascript,jquery,Javascript,Jquery,我试图限制可以在动态文本区域中输入的换行符的数量,但是我所做的代码不起作用。我需要设置至少4个新行,用户可以使。我还将maxlength设置为40个字符。 这是我的密码 $(document).ready(function(){ $("[name='memo[]']").each(function(){ $(this).keydown(function() { newLines = $(this).val().split("\n")
这是我的密码
$(document).ready(function(){
$("[name='memo[]']").each(function(){
$(this).keydown(function() {
newLines = $(this).val().split("\n").length;
$(this).text(newLines);
if(e.keyCode == 13 && newLines >= 4) {
alert("Exceed");
return false;
}
});
});
});
使用下面的示例代码获取文本区域中的行,然后重试
String.prototype.lines = function() { return this.split(/\r*\n/); }
String.prototype.lineCount = function() { return this.lines().length; }
试试这个:
$(document).ready(function() {
$("[name='memo[]']").each(function() {
var textarea = $(this);
textarea.attr('maxlength', 40);
textarea.keydown(function(e) {
var newLines = textarea.val().split(/\r*\n/).length;
if (e.keyCode === 13 && newLines >= 4) {
e.preventDefault();
}
});
});
});
更新:
不要报警,代码工作正常。演示链接是:您也可以尝试textarea的rows属性
@Paulitorows
刚刚定义的textarea高度。@Bob khin的确,您是对的,我认为它不起作用的原因是因为textarea位于TD内。嗨,我仍然无法使它起作用。我不知道为什么。我想问题是文本区在TD内,:(你能给我提供日志吗?