問題描述
我正在尋找最完整的方式來建立一個沒有提交按鈕的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。