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

Как отключить клавишу ENTER на моем текстовом поле?

<form name='qform'>
<textarea name='q' rows='3' cols='60' wrap='hard' id='q' onkeydown="if (event.keyCode == 13) document.getElementById('clickit').click()"></textarea>
<input type='button' value='search' id='clickit' onclick="get();">
</form>

У меня есть эта форма... у нее нет кнопки отправки, потому что я использую jquery и в этой форме является областью div, где будут показаны результаты. Это поисковая система, у которой нет окна ввода, но вместо этого есть текстовое поле. Это связано с тем, что это будет поиск нескольких слов.

Проблема в том, что если я нажимаю клавишу ввода, запрос отправляется, и все в порядке... но фокус на textarea идет по одной строке, и это проблема для меня.

В принципе, я хочу, чтобы у входа была только одна функция (submit), которая ничего не заканчивала.

4b9b3361

Ответ 1

В функции jquery используйте event.preventdefault, а затем выполните то, что вам нравится. Например

<script>
$("a").click(function(event) {
  event.preventDefault();
//Do your logic here
});
</script>

http://api.jquery.com/event.preventDefault/

Ответ 2

Почему бы просто не использовать <input type="text">, если вам не нужны несколько строк? Вы упомянули, что это будет "многозначный искатель". Зачем для этого требуется <textarea>?

Обновление

Попробуйте это

$('textarea').bind('keypress', function(e) {
  if ((e.keyCode || e.which) == 13) {
    $(this).parents('form').submit();
    return false;
  }
});

Ответ 3

$(document).ready(function() {

$('textarea').keypress(function(event) {

    if (event.keyCode == 13) {
        event.preventDefault();
    }
});

});