Не разрешать новые строки в textarea
Использование jQuery, как я могу не допускать вставки новых строк (нажатием ввода или копирования в тексте) - в полу-псевдокоде...
$('textarea').keydown(function(){
$(this).remove_new_lines();
});
Спасибо!
ИЗМЕНИТЬ:
Было бы так же грубо, как и следующее, или есть лучший способ?
function removeNL(s){
return s.replace(/[\n\r\t]/g,);
}
$('textarea').keydown(function(){
$(this).val(removeNL($(this).val));
});
Ответы
Ответ 1
Есть два способа сделать это: проверить каждый символ, когда он вводится, и вернуть false, если вы не хотите, чтобы он отображался, или на каждом смене/клавиатуре вы можете проверить все содержимое. В то время как первый более эффективен, он не будет работать в ситуациях, когда пользователь вставляет содержимое, включающее нежелательные символы. По этой причине я рекомендую последний подход, что-то вроде этого (что запретит все вертикальные пробелы):
$('textarea').on('keyup', function(){
$(this).val($(this).val().replace(/[\r\n\v]+/g, ''));
});
Ответ 2
вы можете проверить keyCode, если он равен 13, просто верните false
$('#TEXTAREA').keypress(function(e){
if (e.keyCode == 13) return false
})
Ответ 3
$('textarea').keydown(function(e){
var s = $('textarea').val();
while (s.indexOf("\n") > -1)
s = s.replace("\n","");
$('textarea').val(s);
});