一個表單里,如果有


可以用button代替input type=”submit”嗎?

在ie下,<button>標記恐怕還存在幾個不大不小的問題。

在一個表單里,如果有一個以上"submit"類型的<button>標簽存在,在表單被提交時,不管你點擊哪個<button>,所有<button>的值都會被post/get。<button>的缺省type屬性被設置為"button",但是在A級別瀏覽器下,應該設置為"submit"才對如果你用javascript去訪問<button>的value屬性,IE卻返回了<button>的innerHTML屬性,很讓人惱火。 (可以使用"getAttributeNode"方法來避免.)
PLAIN TEXT
CODE:
<form>
<button type="submit" value="1" >text 1</button>
<button type="submit" value="2" >text 2</button>
</form>

在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之類的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM