перехватить возврат каретки в текстовой области - PullRequest
8 голосов
/ 02 ноября 2009

Как вы ловите возврат каретки в текстовой области и отправляете форму вместо новой строки в текстовой области?

Ответы [ 3 ]

14 голосов
/ 02 ноября 2009

Запишите нажатие клавиши, убедитесь, что оно введено, а затем найдите родительский элемент form и отправьте его:

$('#textAreaId').keydown(function (e) {
  var keyCode = e.keyCode || e.which;

  if (keyCode == 13) {
    $(this).parents('form').submit();
    return false;
  }
});

Проверьте приведенный выше пример здесь .

1 голос
/ 02 ноября 2009

Базовый скелет (из API документов ):

$('#textarea-selector-here').keydown(function(event)
{
    switch(event.keyCode)
    {
        // ...
        // different keys do different things
        // Different browsers provide different codes
        // see here for details: http://unixpapa.com/js/key.html    
        // ...
    }
});

Однако, если вы не хотите разрешать многострочный ввод, почему бы просто не использовать <input type="text" />?

1 голос
/ 02 ноября 2009

Добавьте функцию onKeyPress к текстовой области, перехватите ее, нажав Enter (код символа 13) и отправьте форму.

Вот пример , который использует текстовый ввод вместо textarea, но он должен работать так же.

<textarea name="myTextArea" onKeyPress="checkEnter(event)"></textarea>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...