2013-02-11 75 views
7

我想在HTML表單上創建一個表單提交按鈕,該表單的文本與提交給主機的關鍵字不同。所以我用我應該使用HTML <button>還是<input>?

<button type="submit" name="SubmitAction" value="Done" accesskey="D"><u>D</u>one for Now</button> 

W3Schools警告說:

注:如果您在HTML表單中使用<button>元素,不同的瀏覽器可以提交不同的值。 使用<input>以HTML表格創建按鈕。

有沒有什麼方法可以創建按鈕使用<input>在按鈕上顯示的文本與提交給主機的值不同?

不同瀏覽器發送的<button>有什麼不同?

注意:我不需要支持IE 9以前的任何版本,並且實際上使用Chrome和FireFox的當前版本。

+0

可能重複的[之間的差異和<按鈕類型=提交>文本](http://stackoverflow.com/questions/ 3543615 /差異之間的輸入類型提交和按鈕類型提交文本按鈕) – 2013-02-11 21:19:13

+0

你可以使用一個onsubmit函數來追加你想要的值,當輸入按爆炸藥丸說的時候。 – 2013-02-11 21:19:45

+7

您似乎在引用http://www.w3schools.com/tags/tag_button.asp - 請勿將W3School與W3C混淆。 W3C維護了許多網絡標準。 W3Schools在提供一些(大多數是過時的)教程的同時,也有類似的名字,這些教程很多都有錯誤和安全問題。 – Quentin 2013-02-11 21:19:50

回答

7

<button><input>的區別很過時,在現代瀏覽器中使用任何一個都不成問題。

如果您想使用<input type="submit">來提交除顯示內容之外的值...不要。相反,只需要添加另一輸入元件:

<input type="submit" value="Displayed Value"> 
<input type="hidden" name="name" value="Actual Value"> 
+1

關於多重'輸入'的想法:但我有多個按鈕,每個按鈕提交不同的操作 - 保存,完成,發佈,放棄。 – 2013-02-11 21:20:48

+1

只需在提交表單時附加隱藏輸入,具體取決於在onsubmit事件中使用某個javascript按下哪個按鈕 – 2013-02-11 21:21:44

+0

@SoftwareMonkey您可以依賴提交按鈕的名稱,但不能依賴其值 – 2013-02-11 21:22:05

相關問題