2012-03-30 7 views
1

私は送信ボタンのないHTMLフォームを持っています。私はENTERボタンを押すとそのフォームを提出したい。 ENTERを押すと簡単なjqueryコードを使用してフォームを送信しました。提案が公開されていることを知っています

$("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

いいえ、このようなイベントはありません。あなたは、ユーザーが特定のフィールドを埋め、とにかく送信ボタンなしにされているかどうかを傍受するonchangeonblurイベントで遊ぶことができます:

  • を把握アウトする形

  • を提出する方法をユーザーのための方法はありません
  • 同じアクションは、(キーを押して入力します)あなたは間違いなく、送信ボタンを配置する必要が私見UIの一貫

を壊し二つの異なるアクションにつながる可能性があります。

関連する問題