2011-09-20 122 views
0

我有一個非常簡單的形式與一個自動填充小部件。沒有提交按鈕。我希望表單的行爲方式能夠在用戶從自動填充中選擇一條建議時提交表單,但不會另外提交。問題是,只要按下回車鍵,表單就會自動提交,填寫或不填。但是,如果我添加一個隱藏文本輸入框,它可以解決問題,並且我只能通過從自動完成中選擇一個建議來提交表單(通過此機制提交的內容由一些jQuery處理)。是否有更多'優雅'的方式來關閉提交回報功能?添加一個我實際上並不需要的隱藏文本輸入似乎不是一種「正確」的方式來做到這一點,而且可能是一個依賴於瀏覽器的修復(我正在使用Chrome)。表單自動提交按「輸入」

+0

你能給出更多細節的上下文,很容易給出答案嗎? – vietean

+0

我很抱歉,但您實際上在上下文中的含義是什麼?你想要的代碼,我想要什麼功能,等等? –

回答

1

「輸入時提交」是瀏覽器特定的實現。所以我不認爲我們可以從JS中做任何事來關閉它。


您可能可以通過在jQuery中偵聽「keypress」事件來強制解決該問題,但這看起來很重要。


另一種方法,你可能會採取這種做法(理論上,從來沒有這樣做)是使用HTML5數據屬性。即在你的表格上,有

<form data-ready="false"> 
</form> 

然後當你選擇你的建議項目時,將該屬性設置爲「true」。

在您的表單提交處理程序中,在決定允許表單提交之前檢查該屬性,或使用.preventDefault()阻止提交到服務器。

+0

prventDefault()技巧完美運行。非常感謝! –