UPDATE 從@BrendanEich 形式的onsubmit對提交按鈕的onclick
@mplungjan的onclick的只提交掉出來,作爲一個按鈕;表單提交顯然更好。
這將是有史以來使用一個提交按鈕的onclick確定形式是否應該提交的原因是什麼?
我堅信
- 之前執行的東西提交和取消在錯誤的情況下提交,該表單的onsubmit事件是把它
- 如果您使用的onclick一個提交了明顯的地方按鈕,然後決定使用type =「image」事件處理程序將在許多瀏覽器中失敗
- 如果將提交更改爲按鈕,則必須將提交添加到onclick事件處理程序中。
我在尋找強烈的理由,喜歡使用提交按鈕的onclick事件通過窗體的onsubmit。
更新:請不要說我個人很清楚表單提交和驗證的許多問題。
例如,通過JavaScript的提交將不會觸發的onsubmit http://jsfiddle.net/mplungjan/3A4Ha/
<form onsubmit="alert('onSubmit called')">
<input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
<input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
此外,IE瀏覽器將不會觸發的onclick如果你打我的小提琴在表單中輸入
歷史:
這裏進入討論
html button not clickable without being disabled
我一直在使用一個提交按鈕任何東西的onclick的強烈反感由於許多 年看到這在許多瀏覽器,大多是老版本的IE瀏覽器的不行的。 我列出了一些明顯的原因,但我相信他們不會說服硬化的用戶。
難道SO的社區能幫我把這個釘在牆上嗎,就像他們釘了w3schools一樣? 也可隨時發表評論,以便我如何以可接受的方式來說明這個問題。
1:因爲NS2.x的天IE3.02
看起來更像一個討論,而不是一個問題......看出來!哦,我同意使用提交事件。 :-) – RobG
我同意使用表單的提交 - 這也包括您通過輸入鍵而不是提交按鈕提交。 – nnnnnn
可能的重複:http://stackoverflow.com/questions/4529012/should-i-use-the-inputs-onclick-or-the-forms-onsubmit-event-to-validate-form-fi –