Html-button和input的区别

时间:2024-03-04 09:56:42

一、定义和用法

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

    1、在 <button> 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 <input> 元素创建的按钮之间的不同之处;

    2、 <button> 控件提供了更为强大的功能和更丰富的内容;

    3、<button> 与 </button> 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容。

<input> 标签规定了用户可以在其中输入数据的输入字段

    1、<input> 元素在 <form> 元素中使用,用来声明允许用户输入数据的 input 控件;

    2、输入字段可通过多种方式改变,取决于 type 属性。

 

二、相同之处

<input> 中 type=“button”   与  <button> 中 type=“button”  是一样的

<input> 中 type=“submit”  与  <button> 中 type=“submit” 是一样的

当<button>未处于<form>表单中时,其浏览器默认的type就是button,这个时候与input的type=“button”就是一样的接轨

而当<button>处于<form>表单中时,不同的浏览器对 <button> 元素的 type 属性使用不同的默认值,这个时候有所区分了

 

三、不同之处

如果在 HTML 表单中使用 button 元素,不设置type的情况下,不同的浏览器会提交不同的值。

IE将提交 <button> 与 <button/> 之间的文本;

其他浏览器将提交 value 属性的内容。

例如:我们获取下他的val

        Html:<button id="Btn" value="test">按钮</button>

        JQ:$(\'#Btn\').val()    $(\'#Btn\').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

按钮

按钮

 

 

四、总结

    因此,请始终为 <button> 元素规定 type 属性。因为不同的浏览器对 <button> 元素的 type 属性使用不同的默认值;

    如果在 HTML 表单中使用 <button> 元素,不同的浏览器可能会提交不同的按钮值。因此请尽可能使用 <input> 在 HTML 表单中创建按钮