問題描述

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