DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> button和input type=button的區別及注意事項
button和input type=button的區別及注意事項
編輯:HTML和Xhtml     
<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')在不同浏覽器的獲得值,如下:

Browser/Value

$('#customBtn').val()

$('#customBtn').attr('value')

Firefox13.0

test

test

Chrome15.0

test

test

Opera11.61

test

test

Safari5.1.4

test

test

IE9.0

按鈕

按鈕


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

復制代碼代碼如下:
<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>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved