Answers:
不确定从何处获得传说,但:
<button>
与:
<button type="submit">(html content)</button>
IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用<button>
可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很出色,但是各种浏览器怪癖使它有时很难使用。
在您的示例中,IE6将发送text
到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览器兼容,请使用<button type="submit" value="text">text</button>
。更好的是:不要使用该值,因为如果添加HTML,则在服务器端收到的内容将变得非常棘手。相反,如果必须发送额外的值,请使用隐藏字段。
<input>
与:
<input type="button" />
默认情况下,这几乎不执行任何操作。它甚至不会提交您的表格。您只能在按钮上放置文本,并通过CSS为其指定大小和边框。其最初(当前)的意图是执行脚本,而无需将表单提交给服务器。
<input>
与:
<input type="submit" />
像前者一样,但实际上提交了周围的表格。
<input>
与:
<input type="image" />
与前一个(提交)一样,它也将提交一个表单,但是您可以使用任何图像。这曾经是需要提交表单时将图像用作按钮的首选方式。为了获得更多控制,<button>
现在使用。这也可以用于服务器端图像映射,但是如今这很少见。当您使用usemap
-attribute和(带有或不带有该属性)时,浏览器会将鼠标指针的X / Y坐标发送到服务器(更确切地说,是单击鼠标时按钮内的鼠标指针位置)。如果您只是忽略这些额外功能,那无非就是伪装成图像的提交按钮。
浏览器之间有一些细微的差异,但是除了上述<button>
标记外,所有浏览器都将提交值属性。
white-space:pre
默认情况下,< input>具有,而<button>没有。当尝试使按钮的宽度大于视口时,这变得显而易见。
使用<button>
,您可以使用img标签等,其中文本是
<button type='submit'> text -- can be img etc. </button>
使用<input>
类型,您只能使用文字
<input type="image" />
您联系不仅限于文本,它还执行提交。
name.x
和name.y
参数发送(请注意,该name
参数不存在!)。<input type="submit">
如果唯一的目的是使用带有背景图像的按钮,我宁愿使用CSS背景。
input type="image"
。为此,其目的<button type="submit">
是。
TYPE=IMAGE' implies
TYPE = SUBMIT'处理;也就是说,当选择一个像素时,将提交整个表单。” 。使其成为您真正的意图:)
综上所述 :
<input type="submit">
<button type="submit"> Submit </button>
默认情况下,两者都将在视觉上绘制一个执行相同操作的按钮(提交表单)。
但是,建议使用<button type="submit">
它,因为它具有更好的语义,更好的ARIA支持并且更易于样式设置。
<input type="submit">
和<button type="submit">
?