關於button會提交表單的原因及解決辦法

今天在寫一個小例子時無意間發現button標籤會提交表單, 很是不解. 後來換成input type="button"就沒有這個問題, 於是上網查了下,結合各位網友和w3c的說法, 總結如下:

未設置type屬性時, <button>標籤在IE中被當作是一個按鈕,但在其它瀏覽器中會被當作submit, 因此應始終爲button設置type。設置type後, <button>在所有瀏覽器中都是一個普通的按鈕.

如果在 HTML 表單中使用 button 元素,不同的瀏覽器會提交不同的值。IE將提交 <button> 與 <button/> 之間的文本,而其他瀏覽器將提交 value 屬性的內容。因此,請在 HTML 表單中使用 input 元素來創建按鈕。

==============================

附:W3C對button的完整解釋 http://www.w3school.com.cn/tags/tag_button.asp

HTML <button> 標籤

定義和用法

<button> 標籤定義一個按鈕。

在 button 元素內部,您可以放置內容,比如文本或圖像。這是該元素與使用 input 元素創建的按鈕之間的不同之處。

<button> 控件 與 <input type="button"> 相比,提供了更爲強大的功能和更豐富的內容。<button> 與 </button> 標籤之間的所有內容都是按鈕的內容,其中包括任何可接受的正文內容,比如文本或多媒體內容。例如,我們可以在按鈕中包括一個圖像和相關的文本,用它們在按鈕中創建一個吸引人的標記圖像。

唯一禁止使用的元素是圖像映射,因爲它對鼠標和鍵盤敏感的動作會干擾表單按鈕的行爲。

請始終爲按鈕規定 type 屬性。Internet Explorer 的默認類型是 "button",而其他瀏覽器中(包括 W3C 規範)的默認值是 "submit"。

實例

以下代碼標記了一個按鈕:

<button type="button">Click Me!</button>

瀏覽器支持

所有主流瀏覽器都支持 <button> 標籤。

重要事項:如果在 HTML 表單中使用 button 元素,不同的瀏覽器會提交不同的值。Internet Explorer 將提交 <button> 與 <button/> 之間的文本,而其他瀏覽器將提交 value 屬性的內容。請在 HTML 表單中使用 input 元素來創建按鈕。


發佈了41 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章