Подтвердить что ты не робот

Добавить новый символ строки в textarea вместо отправки формы

У меня есть форма с текстовой областью, и нажатие клавиши ввода отправляет мою форму. Как я могу заставить его добавить новый символ линии вместо формы submit.

4b9b3361

Ответ 1

$('textarea').keypress(function(event) {
   if (event.which == 13) {
      event.preventDefault();
      var s = $(this).val();
      $(this).val(s+"\n");
   }
});​

JSFiddle Demo

Ответ 2

Это должно помочь

$('#myProblematicForm textarea').keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    this.value = this.value + "\n";
  }
});

Для чего я использую Chrome в OS X и Enter вставляет \n в текстовое поле для меня и не отправляет формы по умолчанию.

Ответ 3

вы можете попробовать этот код:

$(document).ready(function() {
  $("textarea").keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

Ответ 4

$(document).ready(function() {
  $('textarea').keydown(function(event){
    if (event.keyCode == 13) {
      event.preventDefault();
      var s = $(this).val();
      $(this).val(s+"\n");
    }
  });
});

Ответ 5

Предыдущие ответы не обрабатывают разделение текущего значения текстового поля и просто добавляют новый символ строки. Следующее останавливает событие от пузырьков до формы и по-прежнему позволяет типичное поведение textarea на 'enter'.

$('textarea').keydown(function(event) {
  if (event.keyCode === 13) {
    event.stopPropagation();
  }
});

Ответ 6

Это сработало для меня

$(document).keypress(function(e) {
if(e.which == 13) {
    if(document.activeElement.tagName != "TEXTAREA") {
        e.preventDefault();
    };
  }
})

Ответ 7

$(document).ready(function(){
$("#text").keypress(function(event) {   
   if (event.which == 13) { 
      var s = $(this).val();
      $(this).val(s+"\n");  //\t for tab
   }
});      
});

Это можно сделать с помощью jquery-кода, который я привел выше. Необходимо заметить, что использование готовой функции необходимо, когда вы пишете выше script перед кодами поля ввода HTML и не обязательно, когда вы пишете его после кодов полей ввода. Если он не работает, попробуйте использовать \t на месте из \n он будет работать.