2012-03-30 1 views
1

У меня есть html-форма без кнопки отправки. Я хочу отправить эту форму после нажатия кнопки ENTER. Я использовал простой код jquery для отправки формы при нажатии ENTER.знаете, что предложение открыто

$("form :input").keypress(function(e) 
{ 
    if(e.keyCode == 13) 
    { 
     $(this).parents('form').submit(); 
    } 
}); 

Но есть проблемы с этим кодом. Когда я набираю текстовое поле и хочу выбрать предложение (это предложения, предложенные браузером на основе истории для этого поля) для этого поля с помощью клавиши «ENTER», он вызывает отправку текущей формы. Я тоже хочу пропустить это.

Есть ли что-то подобное в JQuery или JavaScript

$("form :input").keypress(function(e) 
{ 
    if(e.keyCode == 13) 
    { 
     if(! $(this).is('suggestOpened')) // i want something like this 
     { 
      // submit the form 
     } 

    } 
}); 

Спасибо заранее.

+0

Вы можете предотвратить «поведение по умолчанию» события (отправка формы в вашем случае): http://api.jquery.com/event.preventDefault/ – m90

+0

можете ли вы добавить свой код на jsfiddle –

ответ

2

Нет, такого события нет. Вы можете играть с onchange и onblur событий перехватывать ли пользователь заполняет определенное поле, но в любом случае без кнопки отправки:

  • Там нет никакого способа для пользователя, чтобы выяснить, о том, как отправить форму

  • То же действие (ввод нажатия клавиши) может привести к двум различным действиям, который разрушает согласованность интерфейса

ИМХО вы должны обязательно разместить кнопку отправки.