html释疑

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

一、定义和用法

<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


按钮


按钮

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

时间: 2024-10-12 12:05:08

html释疑的相关文章

http返回头中content-length与Transfer-Encoding: chunked的问题释疑

先说说问题出现的背景:        公司服务器与手机客户端交互,客户端请求一个动态生成的XML文件,在用firebug查看http响应头的时候,有时候发现有content-length属性,有时候没有这个属性,取而代之的是Transfer-Encoding: chunked属性.由于客户端强制要求,服务器端必须返回content-length,否则,客户端将不予解析.于是测试发现,当XML文件很小的时候,是有content-length属性的,到达一个值时,就成了Tansfer-Encodin

windows server 2012 70-413认证释疑

Question 7 You need to recommend which changes must be implemented to the network before you can deploy the new web application. What should you include in the recommendation? A.Change the forest functional level to Windows Server 2008 R2 B.Upgrade t

网络编程释疑之:TCP连接拔掉网线后会发生什么

背景:前些天团队在进行终端设备和服务器端长连接业务的测试时,发现了这么一个情况:在拔掉设备端的网线后,再插上网线,有时可以继续正常的进行长接连请求,而且用的还是拔掉网线之前的那个长连接.但是有时却不能继续正常的长连接请求,需要重新建立一个新的长连接.让我尤感诧异的是第一种网线断开再插上后长连接可以恢复的情况,彻底颠覆了我一直抱有的一个所谓的"物理连接"的观念.究竟怎么回事,我们来探个究竟. 首先说说我自己发明的"物理连接"这个名词,不管怎么说我都是一个网络编程的&q

[Android Memory] Shallow Heap大小计算释疑

转载自:http://blog.csdn.net/sodino/article/details/24186907 查看Mat文档时里面是这么描述Shallow Heap的:Shallow heap is the memory consumed by one object. An object needs 32 or 64 bits (depending on the OS architecture) per reference, 4 bytes per Integer, 8 bytes per

(转)关于三星cortex A9 Sate4412 开发板 uboot 启动的一些问题释疑

说明:本文转载自:http://blog.csdn.net/gooogleman/article/details/17238079 作者:gooogleman                   日期:2013.11.27 最近,发现4412 和S5PV210的一些iNand/TF启动方式有些不同,4412 的一些磁盘索引不是固定在某一个通道的上的,而S5PV210 是固定的,这就导致一些人在烧写4412 ,分区格式化的时候会莫名其妙,不知所以然,现在看看代码,看是4412 代码到底是为何会这样

content-length与Transfer-Encoding: chunked的问题释疑

http返回头中content-length与Transfer-Encoding: chunked的问题释疑 先说说问题出现的背景: 公司服务器与手机客户端交互,客户端请求一个动态生成的XML文件,在用firebug查看http响应头的时候,有时候发现有content-length属性,有时候没有这个属性,取而代之的是Transfer-Encoding: chunked属性.由于客户端强制要求,服务器端必须返回content-length,否则,客户端将不予解析.于是测试发现,当XML文件很小的

windows server 2012 70-414认证释疑

此题的环境是:custum1需要打开公有云供应商northwindtraders的RMS加密文档,公有云供应商需要打开Custum2创建的RMS加密文档,因为明年Custum2的RMS Server将被撤销. 第一小题:需要在northwindtraders的RMS服务器上导入custum2的SLC文件,创建TPD,导入后,northwindtraders的用户打开custum2创建的加密文档时,只需要访问本地(即northwindtraders)的RMS服务器就可以了,满足custum2的RM

eclipse中j2ee(struts2)部署及相关问题释疑

1.eclipse中进行web项目开发时.部署的时候和利用myeclipse部署时有非常大不同,由于在myeclipse的工具栏中有一个部署button.而且在myeclipse的preference中有tomcat等server的配置入口,当点击部署button时,默认直接部署到配置的server的指定位置(比如tomcat是直接部署到webapps文件夹下). 2.eclipse配置服务的位置为 3.部署web项目时.还需打开server视图.点击右键new 一个server 4.在第3步完

《深入.NET平台和C#编程》--题型释疑

本题考查抽象类和抽象方法的概念.定义抽象类或抽象方法使用的是abstract关键字,抽象类中可以包含抽象方法和非抽象方法,但抽象方法必须定义在抽象类中,抽象方法定义时只需要定义方法头,不可以定义方法体.故本题说法正确的选项是B,其余均不对. 本题考查抽象类和抽象方法的概念.定义抽象类或抽象方法使用的是abstract关键字,抽象类中可以包含抽象方法和非抽象方法,但抽象方法必须定义在抽象类中,抽象方法定义时只需要定义方法头,不可以定义方法体.故本题说法正确的选项是B,其余均不对. 本题考查使用vi

网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议).虽然现在的集群,分布式技术可以为我们将并发负载分担在多台服务器上,那我们只需要扩展出数十台电脑就可以解决问题,但是我们更希望能更大的挖掘单台服务器的资源,先努力