2012-06-22 16 views
5

formsearch inputsubmit buttonの中には基本があります。 inputでフォーカスが行われると、キーボードが期待どおりに表示されます。 buttonを押すと、フォーム送信イベントが発生します。私はevent.preventDefault()を呼び出して、代わりにajax呼び出しを行います。ただし、キーボードの検索ボタンを押すと、キーボードが非表示になり、送信イベントは発生しません。モバイルSafariキーボードフォームの提出

キーボードで検索を押すと、フォームが送信されないのはなぜですか?キーボード検索ボタンでこのイベントを発生させるにはどうすればよいですか?

ありがとうございました。

+0

を除くすべてのコールを返しますが、コードを投稿することができますか?あなたはイベントを聞く必要はありません。 –

+0

実際にあなたが 'ajax'を使用したい場合は、イベントを聞く必要があります – Trevor

+0

ああ、私は通常フォーム送信を使って私のデータをajax経由で送信します。 フォームデータをjsonにシリアル化して直接送信することができます。モデルへのすべての入力を直接配線する必要があります。 –

答えて

5

キーボード検索ボタンは、キー押しイベントにバインドされ、keycode13です。基本的には

keypressイベントに耳を傾け、e.which === 13

$('input').on('keypress', function (e) { 
    if (e.which !== 13) { 
     return; 
    } 

    // ajax code 
} 
関連する問題