2012-06-22 63 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 
} 
相關問題