可以用button代替input type=”submit”嗎?
在ie下,<button>標記恐怕還存在幾個不大不小的問題。
在一個表單里,如果有一個以上"submit"類型的<button>標簽存在,在表單被提交時,不管你點擊哪個<button>,所有<button>的值都會被post/get。<button>的缺省type屬性被設置為"button",但是在A級別瀏覽器下,應該設置為"submit"才對如果你用javascript去訪問<button>的value屬性,IE卻返回了<button>的innerHTML屬性,很讓人惱火。 (可以使用"getAttributeNode"方法來避免.)在IE下,上面兩個button的數據都會被提交。並且ie會提交這兩個button的innerText而不是value。而其它瀏覽器僅僅提交你點擊的那個button。
留言:
button的值是寫在節點之間的,實事上是innerHtml的值~這點上講比input更靈活一點:例如,你可以設置一個value為TEST
不過個人認為沒有必要用button代替input吧
在只有一個button時,或者不放在form里的時候還是可以用的咯
button標簽可以有更多的樣式,比如可以加個圖片什么的。
to vsky:
在firefox下,情況有所不同,表單提交的是button的value屬性而不是innerHTML
加個onclick=”return false”就不會提交了…
要不你全用type=”button” ,提交的加一個onclick=”this.form.submit()”
這樣的話,還是直接用input來得簡單,不容易出現意料之外的行為
我認為 Button 並不是用來代替 input 的.
Button 是為了響應用戶交互行為的.不是為了直接通過 Button 的 name 和 值 來向 server 提交數據的.
雖然 button 可以提交 name:value. 但我認為提交數據應該用 input
也就是說應該這樣用 Button
提示信息
提交
也就是說 button 里應該永遠看不到 name 屬性.
關鍵是合理使用button標簽。html被屏蔽是wordpress的默認行為,不過有部分標簽是被保留的,比如b,strong,ul,li之類的。