我正在尝试限制可以在动态文本区域中输入的换行符的数量,但我制作的代码不起作用。我需要设置用户可以制作的至少4个换行符。我还将maxlength设置为40个字符。
这是我的代码。
$(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;
}
});
});
});
答案 0 :(得分:1)
试试这个:
$(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();
}
});
});
});
<强>更新强>: 不要警惕,代码工作正常。演示链接是:http://jsfiddle.net/bobkhin/nJWk2/
答案 1 :(得分:0)
使用以下示例代码获取文本区域中的行并尝试...
String.prototype.lines = function() { return this.split(/\r*\n/); }
String.prototype.lineCount = function() { return this.lines().length; }