2012-11-22 37 views
5

<button>標籤比輸入更容易風格化,我真的贊成使用它們。但是恐怕可能會出現一些問題。使用<button type =「submit」>替換<input type =「submit」>來提交表單,問題?

從W3Schools的:Note: If you use the <button> element in an HTML form, different browsers may submit different values. Use <input> to create buttons in an HTML form.

我也看了,IE瀏覽器有這個按鈕的問題。我只希望使用他們作爲替代的提交按鈕,如:

<form> 
<input type="text" name="post"/> 
<button type="submit"> 
</form> 

將他們的工作一樣的提交按鈕或將我喜歡的瀏覽器不支持或其他任何問題?

+3

[就像一個建議不要太依賴W3Schools ...](http://w3fools.com/) – DarkAjax

+0

不是我不同意這裏的w3schools,但不依賴於他們的信息。 http://w3fools.com/ – Curt

回答

2

button元素與IE有嚴重的問題,IE過去有一個非常破壞的實現。這仍然是一個問題。根據MDN page on button,IE 7在這方面仍然非常破碎,在提交時發送錯誤的數據。

但是,如果您的表單處理不依賴button元素產生的名稱=值數據,那麼button type=submit目前是安全的。例如,當表單中只有一個這樣的按鈕時,無論如何你可能都不會使用name = value對。

+0

因此,基本上如果我不使用名稱和值屬性(我不打算使用)的IE7沒關係? – lisovaccaro

+0

@ Liso22,對。 –

1

我還沒有遇到任何IE問題<button type="submit">,並在很糟糕的情況下,你總是可以附加一個onclick事件處理程序。

A <button>應該可以安全使用。

最後說明:w3schools是一個錯誤的和誤導性的網站。您不應該將其用作任何語言的參考。對於PHP,有PHP Manual,對於JavaScript,有Mozilla Developer Network (or MDN)。請參閱http://w3fools.com以進一步瞭解爲什麼你永遠不應該使用w3schools。

+0

謝謝,基本上它可以在所有瀏覽器上正常工作?既然它是針對年輕人的,我不認爲IE7或者更老的比例會太大,但我寧願支持它。 – lisovaccaro

+0

@ Liso22:是的,它會工作。 –

-1

如果使用

 

    <input type="submit" name="whatever" /> 
 

你可以放心,它會像按鈕對應的罰款;您將沒有瀏覽器不兼容問題。
它的風格相同。

希望這有助於。

+3

它不是同樣的風格。它不支持:之前和之後:因爲它沒有任何內部內容。還有一些瀏覽器忽略了像iOS Safari這樣的提交按鈕的樣式。我知道我可以使用但我想知道使用

相關問題