如何在textarea中自动添加换行符?

时间:2013-09-15 23:56:30

标签: jquery html

我有一个不太宽的textarea。我希望当一行有50个字符时,用户输入文本以便换行。我不想要任何包装文字。只是换行。有没有办法让这种情况发生?

我试图在一行上测试一些基本的东西然后失败了。

$('#textarea').keypress(function (e) {
if ($(this).val().length == 50) {
    $(this).val()[51] == '\n'
}
})

我显然不是很有经验。我不知道是否应该开始查看regExp对象。

我不能允许包装文本,因为我需要测量textarea的每一行。在用户提交表单后,我需要能够使用以下内容:

var line = $('#textarea').val().split('\n');
for(i = 0; i < line.length; i++){
    // do something
}

3 个答案:

答案 0 :(得分:0)

您已使用%查看50的长度和倍数,并在最后添加\ n。 Demo

if ($(this).val().length % 50 == 0) {
    $(this).val($(this).val() + '\n);
}

答案 1 :(得分:0)

试一试。演示:http://jsfiddle.net/ZtPPk/2

$("textarea").keyup(function(e) {
    var $this = $(this);
    var length = $this.val().length;
    if(length % 50 == 0) {
        $this.val($this.val() + "\n");   
    }
});

答案 2 :(得分:0)

尝试

$('textarea').keypress(function () {
  var length = $(this).val().length;
  if (length % 51 == 0 &&
      length > 0) {
    var val = $(this).val();
    $(this).val(val + '\n');
  }
});

http://jsfiddle.net/2QZbG/