<button>和<input type=“button“> 的區別
定義和用法
<button> 標籤定義一個按鈕。
在 button 元素內部,您可以放置內容,比如文字或影像。這是該元素與使用 input 元素建立的按鈕之間的不同之處。
<button> 控制元件 與 <input type="button"> 相比,提供了更為強大的功能和更豐富的內容。<button> 與 </button> 標籤之間的所有內容都是按鈕的內容,其中包括任何可接受的正文內容,比如文字或多媒體內容。例如,我們可以在按鈕中包括一個影像和相關的文字,用它們在按鈕中建立一個吸引人的標記影像。
唯一禁止使用的元素是影像對映,因為它對滑鼠和鍵盤敏感的動作會干擾表單按鈕的行為。
請始終為按鈕規定 type 屬性。Internet Explorer 的預設型別是 "button",而其他瀏覽器中(包括 W3C 規範)的預設值是 "submit"。
瀏覽器支援
所有主流瀏覽器都支援 <button> 標籤。
重要事項:如果在 HTML 表單中使用 button 元素,不同的瀏覽器會提交不同的值。Internet Explorer 將提交 <button> 與 <button/> 之間的文字,而其他瀏覽器將提交 value 屬性的內容。請在 HTML 表單中使用 input 元素來建立按鈕。
注意事項
在使用<button>標籤時很容易想當然的當成 <input type="button">使用,這很容易產生以下幾點錯誤用法:
1、通過$('#customBtn').val()獲取<button id="customBtn" value="test">按鈕</button> value的值
在IE(IE核心)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。 參加上面標紅的第一句話。
這一點要和<input type="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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <script type="text/javascript"> $(function() { $('#test1').click(function() { alert($('#customBtn').attr('value')); }); $('#test2').click(function() { alert($('#customBtn').val()); }); }); </script> </head> <body> <button id="customBtn" value="test">按钮</button> <input type="button" id="test1" value="get attr"/> <input type="button" id="test2" value="get val"/> </body> </html>
2、無意中把<button>標籤放到了<form>標籤中,你會發現點選這個button變成了提交,相當於<input type="submit"/>
這一點參見上面第二句標紅的話就明白什麼意思了。
不要把<button>標籤當成<form>中的input元素。
驗證這一點可以在測試下面的程式碼
<html> <body> <form action=""> <button> button </button> <input type="submit" value="input submit"/> <input type="button" value="input button"/> </form> </body> </html>
相關文章
- <input type="button">和<button>的區別
- button和submit的區別MIT
- button 和input 的區別及在表單form中的用法ORM
- HTML input button按鈕HTML
- HTML input button 按鈕HTML
- ajax中button和submit按鈕的區別是什麼MIT
- HTML標籤之form,input,button,tableHTMLORM
- button/input連結方式全攻略
- jQuery :buttonjQuery
- $(":input")和$("input")區別
- input的type值型別和描述-HTML型別HTML
- Layui-buttonUI
- el-button
- input和:input選擇器的區別
- this.button1.Click += new System.EventHandler(this.button1_Click);
- vue3+uniapp關於button的open-type無法生效VueAPP
- JavaScript event.buttonJavaScript
- Flutter Button(按鈕)Flutter
- Bootstrap風格buttonboot
- Flex元件篇:ButtonFlex元件
- 小程式中button的邊框無法去除 button邊框如何去除
- input和textarea區別
- button設定邊寬和圓角
- ASP.NET - Button、LinkButton和ImageButtonASP.NET
- 對於button元素的理解
- Android Button的基本使用Android
- QT樣式: QSpinBox按鈕箭頭 up-button 和 down-button變換位置QT
- 微信小程式元件button微信小程式元件
- c# button學習C#
- 無邊框 Button 【WPF】
- input 與 button 的問題 (空隙/不等高/對不齊)及 解決辦法
- rman 中的 delete all input 和 delete input 的區別delete
- Flutter之Button,寬度佔滿螢幕,四周帶icon的ButtonFlutter
- jQuery Mobile修改button的內容jQuery
- latex中\input和\include的區別
- TypeScript 裡 interface 和 type 的區別TypeScript
- ts中的type 和 interface 區別
- Tkinter (02) 按鈕部件 Button