button和input type=button的區別及注意事項

來源:互聯網
上載者:User
<button>標籤 定義和用法

<button>標籤定義一個按鈕。
在button元素內部,您可以放置內容,比如文本或映像。這是該元素與使用input元素建立的按鈕之間的不同之處。
<button>控制項與<inputtype="button">相比,提供了更為強大的功能和更豐富的內容。<button>與</button>標籤之間的所有內容都是按鈕的內容,其中包括任何可接受的本文內容,比如文本或多媒體內容。例如,我們可以在按鈕中包括一個映像和相關的文本,用它們在按鈕中建立一個迷人的標記映像。
唯一禁止使用的元素是影像地圖,因為它對滑鼠和鍵盤敏感的動作會干擾表單按鈕的行為。
請始終為按鈕規定type屬性。InternetExplorer的預設類型是"button",而其他瀏覽器中(包括W3C規範)的預設值是"submit"。

瀏覽器支援

所有主流瀏覽器都支援<button>標籤。
重要事項:如果在HTML表單中使用button元素,不同的瀏覽器會提交不同的值。InternetExplorer將提交<button>與<button/>之間的文本,而其他瀏覽器將提交value屬性的內容。請在HTML表單中使用input元素來建立按鈕。

注意事項

在使用<button>標籤時很容易想當然的當成<inputtype="button">使用,這很容易產生以下幾點錯誤用法:
1、通過$('#customBtn').val()擷取<buttonid="customBtn"value="test">按鈕</button>value的值
在IE(IE核心)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。參加上面標紅的第一句話。
這一點要和<inputtype="button">區分開。
通過這兩種方式$('#customBtn').val(),$('#customBtn').attr('value')在不同瀏覽器的獲得值,如下:

驗證這一點可以在測試下面的代碼

<html> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <scripttype="text/javascript"src="jquery-1.4.4.min.js"></script> <scripttype="text/javascript"> $(function(){ $('#test1').click(function(){ alert($('#customBtn').attr('value')); }); $('#test2').click(function(){ alert($('#customBtn').val()); }); }); </script> </head> <body> <buttonid="customBtn"value="test">&#x6309;&#x94AE;</button> <inputtype="button"id="test1"value="getattr"/> <inputtype="button"id="test2"value="getval"/> </body> </html>

2、無意中把<button>標籤放到了<form>標籤中,你會發現點擊這個button變成了提交,相當於<inputtype="submit"/>
這一點參見上面第二句標紅的話就明白什麼意思了。 不要把<button>標籤當成<form>中的input元素。
驗證這一點可以在測試下面的代碼

<html> <body> <formaction=""> <button>button</button> <inputtype="submit"value="inputsubmit"/> <inputtype="button"value="inputbutton"/> </form> </body> </html>
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.