問題描述

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