我有一個HTML表單,我使用幾個按鈕。問題是無論我點擊哪個按鈕,即使按鈕不是「submit」類型,也會提交表單。例如按鈕如:<button>Click to do something</button>
,導致表單提交。禁用表單自動提交按鈕單擊
對於每個按鈕做e.preventDefault()
都很痛苦。
我使用jQuery和jQuery UI並且網站在HTML5中。
有沒有辦法禁用這種自動行爲?
我有一個HTML表單,我使用幾個按鈕。問題是無論我點擊哪個按鈕,即使按鈕不是「submit」類型,也會提交表單。例如按鈕如:<button>Click to do something</button>
,導致表單提交。禁用表單自動提交按鈕單擊
對於每個按鈕做e.preventDefault()
都很痛苦。
我使用jQuery和jQuery UI並且網站在HTML5中。
有沒有辦法禁用這種自動行爲?
像<button>Click to do something</button>
的按鈕是提交按鈕。
設置type="button"
改變這一點。 type="submit"
是默認值(如specified by the HTML recommendation)。
<button>
實際上是提交按鈕,它們沒有其他主要功能。您將不得不將類型設置爲按鈕。
但是,如果你像下面那樣綁定你的事件處理程序,那麼你的目標是所有的按鈕,並且不必爲每個按鈕手動執行它!
$('form button').on("click",function(e){
e.preventDefault();
});
它是'e.preventDefault();'。 – hlcs 2017-09-10 21:59:06
謝謝,有點錯過了5年前;-) – 2017-09-12 09:43:20
這是不難做你想做的。 你可以只嘗試使用返回假(回報每一位DOM元素虛假覆蓋缺省行爲)這樣的:
myform.onsubmit=function()
{
//do what you want;
return false;
}
,然後使用myform.submit提交表單()
或者:
mybutton.onclick=function()
{
//do what you want;
return false;
}
但我認爲輸入類型=「按鈕」/按鈕類型=「按鈕」不會提交您的表單,你可以使用它們沒有任何問題。
,如果你想直接添加到輸入的屬性,使用此
onclick="return false;"
<input id = "btnPlay" type="button" onclick="return false;" value="play" />
這將阻止表單提交行爲
失去了一天的睡眠徒勞地固定我的代碼,因爲我不知道這個簡單的規範! – palerdot 2013-12-18 06:18:27
迴應palerdot的概念,很高興我在谷歌搜索後發現了這個筆記,並沒有殺死小時。非常知道,非常感謝。 – brooklynsweb 2015-07-28 20:02:43
這很瞭解! – 2016-08-25 17:43:21