2013-09-15 4 views
0

У меня есть текстовая область, которая не очень широкая. Я хочу, чтобы пользователь вводил текст для разрыва строки, когда строка имеет 50 символов. Я не хочу никакого обернутого текста. Просто разрывы строк. Есть ли способ сделать это?Как я могу автоматически добавлять разрывы строк в текстовом поле?

Я попытался проверить что-то основное на одной линии и провалился.

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

Я, очевидно, не очень опытный. Я не знаю, должен ли я начинать просмотр объекта regExp.

Я не могу разрешить завернутый текст, потому что мне нужно измерить, что имеет каждая строка текстовой области. После того как пользователь представил форму, мне нужно, чтобы быть в состоянии использовать что-то вроде этого:

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

Конечно. Пожалуйста, покажите нам, что вы пробовали. –

+0

Вы должны сделать это на бэкэнде и просто визуально обернуть текст на переднем конце (который, как я думаю, по умолчанию в любом случае). – Petah

ответ

0

Вы должны использовать %, чтобы увидеть, если длина и кратна 50 и добавить \ п в конце. Demo

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

Спасибо за это предложение. Но как я могу заставить это работать для каждой линии? – Nubby

+0

@ Nubby, Обновлен мой ответ. У вас есть '%', чтобы увидеть, длина и кратность 50 и добавить '\ n' в конце. – Starx

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"); 
    } 
}); 
+0

Это тоже работает, но только не на первой строке. Спасибо за вашу помощь. – Nubby

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/

+0

Большое спасибо. Отлично. – Nubby

Смежные вопросы