button和input type=button的區(qū)別及注意事項(xiàng)
發(fā)布時(shí)間:2012-12-31 11:25:21 作者:佚名
我要評論

button控件與inputtype=button相比,提供了更為強(qiáng)大的功能和更豐富的內(nèi)容。button與/button標(biāo)簽之間的所有內(nèi)容都是按鈕的內(nèi)容,其中包括任何可接受的正文內(nèi)容,比如文本或多媒體內(nèi)容,需要了解的朋友可以參考下
<button>標(biāo)簽
定義和用法
<button>標(biāo)簽定義一個(gè)按鈕。
在button元素內(nèi)部,您可以放置內(nèi)容,比如文本或圖像。這是該元素與使用input元素創(chuàng)建的按鈕之間的不同之處。
<button>控件與<inputtype="button">相比,提供了更為強(qiáng)大的功能和更豐富的內(nèi)容。<button>與</button>標(biāo)簽之間的所有內(nèi)容都是按鈕的內(nèi)容,其中包括任何可接受的正文內(nèi)容,比如文本或多媒體內(nèi)容。例如,我們可以在按鈕中包括一個(gè)圖像和相關(guān)的文本,用它們在按鈕中創(chuàng)建一個(gè)吸引人的標(biāo)記圖像。
唯一禁止使用的元素是圖像映射,因?yàn)樗鼘κ髽?biāo)和鍵盤敏感的動(dòng)作會(huì)干擾表單按鈕的行為。
請始終為按鈕規(guī)定type屬性。InternetExplorer的默認(rèn)類型是"button",而其他瀏覽器中(包括W3C規(guī)范)的默認(rèn)值是"submit"。
瀏覽器支持
所有主流瀏覽器都支持<button>標(biāo)簽。
重要事項(xiàng):如果在HTML表單中使用button元素,不同的瀏覽器會(huì)提交不同的值。InternetExplorer將提交<button>與<button/>之間的文本,而其他瀏覽器將提交value屬性的內(nèi)容。請?jiān)贖TML表單中使用input元素來創(chuàng)建按鈕。
注意事項(xiàng)
在使用<button>標(biāo)簽時(shí)很容易想當(dāng)然的當(dāng)成<inputtype="button">使用,這很容易產(chǎn)生以下幾點(diǎn)錯(cuò)誤用法:
1、通過$('#customBtn').val()獲取<buttonid="customBtn"value="test">按鈕</button>value的值
在IE(IE內(nèi)核)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。參加上面標(biāo)紅的第一句話。
這一點(diǎn)要和<inputtype="button">區(qū)分開。
通過這兩種方式$('#customBtn').val(),$('#customBtn').attr('value')在不同瀏覽器的獲得值,如下:
驗(yàn)證這一點(diǎn)可以在測試下面的代碼
<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">按钮</button>
<inputtype="button"id="test1"value="getattr"/>
<inputtype="button"id="test2"value="getval"/>
</body>
</html>
2、無意中把<button>標(biāo)簽放到了<form>標(biāo)簽中,你會(huì)發(fā)現(xiàn)點(diǎn)擊這個(gè)button變成了提交,相當(dāng)于<inputtype="submit"/>
這一點(diǎn)參見上面第二句標(biāo)紅的話就明白什么意思了。
不要把<button>標(biāo)簽當(dāng)成<form>中的input元素。
驗(yàn)證這一點(diǎn)可以在測試下面的代碼
<html>
<body>
<formaction="">
<button>button</button>
<inputtype="submit"value="inputsubmit"/>
<inputtype="button"value="inputbutton"/>
</form>
</body>
</html>
定義和用法
<button>標(biāo)簽定義一個(gè)按鈕。
在button元素內(nèi)部,您可以放置內(nèi)容,比如文本或圖像。這是該元素與使用input元素創(chuàng)建的按鈕之間的不同之處。
<button>控件與<inputtype="button">相比,提供了更為強(qiáng)大的功能和更豐富的內(nèi)容。<button>與</button>標(biāo)簽之間的所有內(nèi)容都是按鈕的內(nèi)容,其中包括任何可接受的正文內(nèi)容,比如文本或多媒體內(nèi)容。例如,我們可以在按鈕中包括一個(gè)圖像和相關(guān)的文本,用它們在按鈕中創(chuàng)建一個(gè)吸引人的標(biāo)記圖像。
唯一禁止使用的元素是圖像映射,因?yàn)樗鼘κ髽?biāo)和鍵盤敏感的動(dòng)作會(huì)干擾表單按鈕的行為。
請始終為按鈕規(guī)定type屬性。InternetExplorer的默認(rèn)類型是"button",而其他瀏覽器中(包括W3C規(guī)范)的默認(rèn)值是"submit"。
瀏覽器支持
所有主流瀏覽器都支持<button>標(biāo)簽。
重要事項(xiàng):如果在HTML表單中使用button元素,不同的瀏覽器會(huì)提交不同的值。InternetExplorer將提交<button>與<button/>之間的文本,而其他瀏覽器將提交value屬性的內(nèi)容。請?jiān)贖TML表單中使用input元素來創(chuàng)建按鈕。
注意事項(xiàng)
在使用<button>標(biāo)簽時(shí)很容易想當(dāng)然的當(dāng)成<inputtype="button">使用,這很容易產(chǎn)生以下幾點(diǎn)錯(cuò)誤用法:
1、通過$('#customBtn').val()獲取<buttonid="customBtn"value="test">按鈕</button>value的值
在IE(IE內(nèi)核)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。參加上面標(biāo)紅的第一句話。
這一點(diǎn)要和<inputtype="button">區(qū)分開。
通過這兩種方式$('#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 |
按鈕 |
按鈕 |
驗(yàn)證這一點(diǎn)可以在測試下面的代碼
復(fù)制代碼
代碼如下:<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">按钮</button>
<inputtype="button"id="test1"value="getattr"/>
<inputtype="button"id="test2"value="getval"/>
</body>
</html>
2、無意中把<button>標(biāo)簽放到了<form>標(biāo)簽中,你會(huì)發(fā)現(xiàn)點(diǎn)擊這個(gè)button變成了提交,相當(dāng)于<inputtype="submit"/>
這一點(diǎn)參見上面第二句標(biāo)紅的話就明白什么意思了。
不要把<button>標(biāo)簽當(dāng)成<form>中的input元素。
驗(yàn)證這一點(diǎn)可以在測試下面的代碼
復(fù)制代碼
代碼如下:<html>
<body>
<formaction="">
<button>button</button>
<inputtype="submit"value="inputsubmit"/>
<inputtype="button"value="inputbutton"/>
</form>
</body>
</html>
相關(guān)文章
- HTML表格用于在網(wǎng)頁上展示數(shù)據(jù),通過標(biāo)簽及其相關(guān)標(biāo)簽來創(chuàng)建,表格由行和列組成,每一行包含一個(gè)或多個(gè)單元格,單元格可以包含文本、圖像、鏈接等元素,本文將詳細(xì)介紹HTML表格2025-03-12
- 本文介紹了三種禁止HTML頁面滾動(dòng)的方法:通過CSS的overflow屬性、使用JavaScript的滾動(dòng)事件監(jiān)聽器以及使用CSS的position:fixed屬性,每種方法都有其適用場景和優(yōu)缺點(diǎn),感興2025-02-24
使用HTML和CSS實(shí)現(xiàn)文字鏤空效果的代碼示例
在 Web 開發(fā)中,文本的視覺效果是提升用戶體驗(yàn)的重要因素之一,通過 CSS 技巧,我們可以創(chuàng)造出許多獨(dú)特的效果,例如文字鏤空效果,本文將帶你一步一步實(shí)現(xiàn)一個(gè)簡單的文字鏤空2024-11-17Html去除a標(biāo)簽的默認(rèn)樣式的操作代碼
在Html中,a標(biāo)簽?zāi)J(rèn)的超鏈接樣式是藍(lán)色字體配下劃線,這可能不滿足所有設(shè)計(jì)需求,如需去除這些默認(rèn)樣式,可以通過CSS來實(shí)現(xiàn),本文給大家介紹Html去除a標(biāo)簽的默認(rèn)樣式的操作代碼2024-09-25HTML文本域如何設(shè)置為禁止用戶手動(dòng)拖動(dòng)
在HTML中,可以通過設(shè)置CSS的resize屬性為none,來禁止用戶手動(dòng)拖動(dòng)文本域(textarea)的大小,這種方法簡單有效,適用于大多數(shù)現(xiàn)代瀏覽器,但需要在老舊瀏覽器中進(jìn)行測試以確保2024-09-25如何通過HTML/CSS 實(shí)現(xiàn)各類進(jìn)度條的功能
本文詳細(xì)介紹了如何利用HTML和CSS實(shí)現(xiàn)多種風(fēng)格的進(jìn)度條,包括基礎(chǔ)的水平進(jìn)度條、環(huán)形進(jìn)度條以及球形進(jìn)度條等,還探討了如何通過動(dòng)畫增強(qiáng)視覺效果,內(nèi)容涵蓋了使用HTML原生標(biāo)簽2024-09-19HTML中Canvas關(guān)鍵知識點(diǎn)總結(jié)
Canvas 提供了一套強(qiáng)大的 2D 繪圖 API,適用于各種圖形繪制、圖像處理和動(dòng)畫制作,可以幫助你創(chuàng)建復(fù)雜且高效的網(wǎng)頁圖形應(yīng)用,這篇文章主要介紹了HTML中Canvas關(guān)鍵知識點(diǎn)總結(jié)2024-06-03html table+css實(shí)現(xiàn)可編輯表格的示例代碼
本文主要介紹了html table+css實(shí)現(xiàn)可編輯表格的示例代碼,主要使用HTML5的contenteditable屬性,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2024-03-06HTML中使用Flex布局實(shí)現(xiàn)雙行夾批效果
本文主要介紹了HTML中使用Flex布局實(shí)現(xiàn)雙行夾批效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2024-02-22HTML+CSS實(shí)現(xiàn)炫酷登錄切換的項(xiàng)目實(shí)踐
在網(wǎng)站開發(fā)中,登錄頁面是必不可少的一部分,本文就來介紹一下HTML+CSS實(shí)現(xiàn)登錄切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需2024-02-02