为了账号安全,请及时绑定邮箱和手机立即绑定

<input type ='submit'/>和<button type ='submit'>

<input type ='submit'/>和<button type ='submit'>

PIPIONE 2019-11-25 14:45:28
关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别?<input type='submit' value='text' /><button type='submit'>text</button>
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

不确定从何处获得传说,但:


提交按钮 <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>标记外,所有浏览器都将提交值属性。


查看完整回答
反对 回复 2019-11-25
?
Qyouu

TA贡献1786条经验 获得超11个赞

使用<button>,您可以使用img标签等,其中文本是


<button type='submit'> text -- can be img etc.  </button>

使用<input>类型,您只能使用文字


查看完整回答
反对 回复 2019-11-25
?
holdtom

TA贡献1805条经验 获得超10个赞

综上所述 :


<input type="submit">


<button type="submit"> Submit </button>

默认情况下,两者都将在视觉上绘制一个执行相同操作的按钮(提交表单)。


但是,建议使用<button type="submit">它,因为它具有更好的语义,更好的ARIA支持并且更易于样式设置。


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 500 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信