問題描述
我正在尋找最完整的方式來建立一個沒有提交按鈕的HTML表單。這本身很簡單,但是當submission-like的事情完成時(例如,在文字欄位中打Enter),我也需要停止重新載入表單。
最佳解決方案
將一個onsubmit處理程序新增到表單中(透過plain js或jquery $()submit(fn)),並返回false,除非您的具體條件得到滿足。
除非您不希望表單提交,否則在這種情況下,為什麼不在表單元素上省略’action’屬性?
次佳解決方案
您將要將action="javascript:void(0);"包含在表單中,以防止頁面重新載入並維護HTML標準。
第三種解決方案
只需將此事件新增到您的文字欄位。它將阻止按Enter鍵進行提交,您可以根據需要自由新增提交按鈕或呼叫form.submit():
onKeyPress="if (event.which == 13) return false;"
例如:
<input id="txt" type="text" onKeyPress="if (event.which == 13) return false;"></input>
第四種方案
當你以表單形式輸入表單的自然行為是被提交時,為了阻止這種不自然的行為,你必須防止它提交(預設行為),使用jquery:
$("#yourFormId").on("submit",function(event){event.preventDefault()})
參考文獻
注:本文內容整合自Google/Baidu/Bing輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。