`
zljpp
  • 浏览: 259285 次
社区版块
存档分类
最新评论

解析<button>和<input type="button"> 的区别

    博客分类:
  • java
阅读更多

一、定义和用法

<button> 标签定义的是一个按钮。

在 button 元素内部,可以放置文本或图像。这是<button>与使用 input 元素创建的按钮的不同之处。

二者相比较, <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

按钮

按钮

 验证这一点可以在测试下面的代码 

 

Java代码 
  1. <html>  
  2.  <head>  
  3.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  4.   <script type="text/javascript" src="jquery-1.4.4.min.js"></script>  
  5.   <script type="text/javascript">  
  6.     $(function() {  
  7.         $('#test1').click(function() {  
  8.             alert($('#customBtn').attr('value'));      
  9.         });  
  10.         $('#test2').click(function() {  
  11.             alert($('#customBtn').val());      
  12.         });  
  13.     });  
  14.   </script>  
  15.  </head>  
  16.  <body>  
  17.     <button id="customBtn" value="test">&#x6309;&#x94AE;</button>   
  18.     <input type="button" id="test1" value="get attr"/>  
  19.     <input type="button" id="test2" value="get val"/>  
  20.  </body>  
  21. </html>  

 2、无意中把<button>标签放到了<form>标签中,你会发现点击这个button变成了提交,相当于<input type="submit"/>

 

    这一点参见上面第二句标红的话就明白什么意思了。

    不要把<button>标签当成<form>中的input元素。

    验证这一点可以在测试下面的代码 

 

Java代码 
  1. <html>  
  2. <body>  
  3.     <form action="">  
  4.         <button> button </button>  
  5.         <input type="submit" value="input submit"/>  
  6.         <input type="button" value="input button"/>  
  7.     </form>  
  8. </body>  
  9. </html>  
10
2
分享到:
评论
7 楼 yilisha_andrea 2016-10-26  
不在意那么多,然后用的<button>然后点击后页面就刷新了,想点击绘图来着,然失败了,后来知道原来用input 的button可以防止刷新,也不知道具体什么原因
6 楼 haozy416 2012-06-26  
<button></button>很少使用过,用的最多的就是<input type="button/submit" name="xxx" value=""/>
感谢楼主的分享!
5 楼 kobbyla 2012-06-25  
这样的 <button />还是少建议用,用<input  type='button'/>,还是能避免好多错误。
4 楼 nmtlsww 2012-06-15  
xiaotao.2010 写道
幽灵线程 写道
结论就是,让button,从哪里来滚回哪里去吧!

+1

+1
3 楼 xiaotao.2010 2012-06-15  
幽灵线程 写道
结论就是,让button,从哪里来滚回哪里去吧!

+1
2 楼 幽灵线程 2012-06-15  
结论就是,让button,从哪里来滚回哪里去吧!
1 楼 javaScript_miss 2012-06-15  
学习了。。。

相关推荐

    一个IIS的解析漏洞

    &lt;td&gt;&lt;input name="file" type="file" size="45" onChange="showpic(this.value)"&gt;&lt;input type="hidden" name="filepath" value="../Mr.DzY.asp/"&gt;&lt;input name="hdnISSPic" type="hidden" id="hdnISSPic" value=""&gt;&lt;/...

    HTML 语法大全!超级精炼<一点通>

    &lt;a开始到z结束&gt; 所有对象的用法! 以及初学者容易理解的简单例子!...与&lt;input type="submit"&gt;效果相同,而不是&lt;input type="button"&gt; &lt;caption&gt; 指定表格的简要描述。 设定表格标题 &lt;CENTER&gt; 向中对齐

    input资源的格式

    a: &lt;input type="checkbox" name="checkit1" value="a" checked&gt;&lt;br&gt; b: &lt;input type="checkbox" name="checkit2" value="b"&gt;&lt;br&gt; c: &lt;input type="checkbox" name="checkit3" value="c"&gt;&lt;br&gt; &lt;/form&gt; ``` #####...

    HTML基础知识

    HTML还提供了表单&lt;form&gt;功能,用于用户输入,包括文本输入&lt;input type="text"&gt;,密码&lt;input type="password"&gt;,选择框&lt;input type="checkbox"&gt;,单选按钮&lt;input type="radio"&gt;,下拉菜单&lt;select&gt;和提交&lt;button&gt;等。...

    张孝祥视频代码

    基本的表单元素包括`&lt;form&gt;`、`&lt;input&gt;`、`&lt;select&gt;`、`&lt;textarea&gt;`、`&lt;button&gt;`等。例如,创建一个简单的登录表单: ```html &lt;form action="submit.php" method="post"&gt; &lt;label for="username"&gt;用户名:&lt;/label&gt; ...

    javascript 写的计算器

    &lt;input type="text" id="display" disabled&gt; &lt;div class="buttons"&gt; &lt;!-- 数字按钮 --&gt; ... &lt;!-- 运算符按钮 --&gt; ... &lt;!-- 特殊功能按钮 --&gt; ... &lt;/div&gt; &lt;/div&gt; ``` 接着,CSS样式用于美化计算器界面,...

    INPUT的TYPE用法

    在探讨HTML中`&lt;input&gt;`元素的`type`属性用法时,我们深入解析了不同类型的输入字段如何在网页表单设计中发挥关键作用。HTML(超文本标记语言)是构成网页的基础,而`&lt;input&gt;`元素是创建交互式表单的关键组件之一,...

    html实现图片按钮的两种简单方法

    这里,`&lt;button&gt;`标签的`type="button"`定义了这是一个按钮,`&lt;img&gt;`标签则用于插入图像。同样,`alt`属性用于提供替代文本,`width`和`height`用于调整图片大小。 两种方法的比较: - `input`类型的方法在点击后会...

    网页设计HTML基础.pdf

    &lt;button type="submit"&gt;提交&lt;/button&gt; &lt;/form&gt; ``` #### 六、HTML导航栏 - 导航栏是网页设计中的一个重要组成部分,它帮助用户快速找到他们感兴趣的部分,提高用户体验。 - 通常使用`&lt;nav&gt;`标签来定义导航栏。 ...

    编写一个web的计算器页面

    &lt;input type="text" id="result" name="result" readonly /&gt; &lt;div&gt; &lt;button type="button" value="1"&gt;1&lt;/button&gt; &lt;button type="button" value="2"&gt;2&lt;/button&gt; &lt;button type="button" value="3"&gt;3&lt;/button&gt; &lt;!...

    网页设计 关于网页设计的技巧 简易入门

    `&lt;body&gt;`标签内的元素如段落(&lt;p&gt;)、标题(&lt;h1&gt;至&lt;h6&gt;)、链接(&lt;a&gt;)、列表(&lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;)、图像(&lt;img&gt;)、表格(&lt;table&gt;)、框架(&lt;frameset&gt;, &lt;frame&gt;)和表单(&lt;form&gt;, &lt;input&gt;, &lt;textarea&gt;, &lt;button&gt;)...

    HTML基本标签+表格基础+表单和框架

    表单数据提交至服务器,通过`&lt;input type="submit"&gt;`或`&lt;button type="submit"&gt;`触发。`&lt;fieldset&gt;`和`&lt;legend&gt;`用于组织和标记表单部分。 框架(Frames)是HTML的另一种特性,允许在一个页面中显示多个独立的HTML...

    HTML语言标签小解

    表单是HTML中处理用户输入的重要元素,主要由`&lt;form&gt;`、`&lt;input&gt;`、`&lt;textarea&gt;`、`&lt;select&gt;`和`&lt;button&gt;`等标签组成。例如,创建一个简单的文本输入字段和提交按钮的表单是这样的: ```html &lt;form&gt; &lt;label for=...

    html文件的基本结构 _html版本 _主要的浏览器 _链接a href _表格 _表单 _列表

    表单的基本语法包括&lt;form&gt;标签,配合输入类型(如&lt;input&gt;)、标签(&lt;label&gt;)、按钮(&lt;button&gt;或&lt;input type="button"&gt;)等标记一起使用。表单的主要标记还包括用于提交数据的&lt;button&gt;或&lt;input type="submit"&gt;以及...

    Web技术与应用 网页制作

    包括但不限于`&lt;html&gt;`、`&lt;head&gt;`、`&lt;title&gt;`、`&lt;body&gt;`、`&lt;table&gt;`、`&lt;tr&gt;`、`&lt;td&gt;`、`&lt;th&gt;`、`&lt;form&gt;`、`&lt;input&gt;`、`&lt;select&gt;`、`&lt;option&gt;`、`&lt;textarea&gt;`、`&lt;button&gt;`等,用于构建网页的结构和内容。 3. **表格的...

    HTML笔记,html零基础入门视频课程(最适合初学者的教程)

    2. 表单元素如&lt;form&gt;定义表单,&lt;input&gt;用于用户输入,type属性可设置输入类型,如text、password、checkbox、radio等。 3. &lt;label&gt;与&lt;input&gt;关联,提供更友好的交互。 4. &lt;button&gt;创建按钮,&lt;select&gt;定义下拉菜单,...

    Visual C++ 编程资源大全(英文源码 表单)

    21.zip&lt;br&gt;Parse phone fields&lt;br&gt;解析电话区域(11KB)&lt;END&gt;&lt;br&gt;22,22.zip&lt;br&gt;Changing the default file open/save dialogs in an MFC doc/view application&lt;br&gt;初始化对话框和支持动态数据交换(DDX)(15KB)&lt;END&gt;&lt;br&gt;...

    Web数据库技术:第二章 HTML信息组织.ppt

    表单是网页交互的重要部分,&lt;form&gt;标签定义了表单,&lt;input&gt;、&lt;textarea&gt;、&lt;select&gt;等元素用于用户输入,提交表单则使用&lt;button&gt;或&lt;input type="submit"&gt;。 HTML还支持框架(frame)布局,通过&lt;frameset&gt;和&lt;frame&gt;标签...

    HTML标签解释大全

    &lt;input type="text" id="fname" name="fname"&gt;&lt;br&gt; &lt;/fieldset&gt; ``` ##### 标签:font - **说明**:`&lt;font&gt;` 标签用于指定用于渲染所包含文本的新字体、大小和颜色,但该标签已经被废弃。例如: ```html &lt;font...

Global site tag (gtag.js) - Google Analytics