2016-06-09 144 views
2

按钮类型与type="button"对比type="submit"有没有区别?是否存在功能差异,还是仅仅是简化代码阅读的描述性名称?按钮类型“按钮”与“提交”

这与输入不同吗?

+1

@ j08691不是重复的,因为其他问题是关于输入,而我的关于按钮 – akantoword

+1

对不起,错误的问题。重开。 – j08691

+1

[该规范详细介绍了他们应该如何行动](https://www.w3.org/TR/html5/forms.html#attr-button-type) – zzzzBov

回答

4

一个类型为“button”的按钮不会提交表单,而是一个没有type或type = submit(默认)的表单。 type = submit的按钮与type = submit的输入几乎相同,但按钮可以包含HTML内容。

+0

,所以发生了一些提交类型没有发生常规的按钮类型?我问这是因为可访问性要求我给一个按钮一个提交类型,但我已经使用骨干来听按钮并发出一个请求,所以我只是不想通过让html做些事情来搞砸带有提交类型按钮的背景以及主干提出请求 – akantoword

5

MDN

type
的类型的按钮的。可能的值是:

  • 提交:按钮的表单数据提交到服务器。 如果未指定属性,或者属性动态更改为空值或无效值,则这是默认值。
  • 重置:该按钮将所有控件重置为其初始值。
  • 按钮:该按钮没有默认行为。它可以将客户端脚本与元素的事件相关联,这些事件在事件发生时触发。

至于buttoninput之间的差:

  • button可以具有单独的值作为数据,而对于input数据和按钮文本总是相同的:

    <input type="button" value="Button Text"> <!-- Form data will be "Button Text" --> 
    <button type="button" value="Data">Button Text</button> 
    
  • A button可以有HTML内容(例如图片),而input只能有文字。

  • A button可能比较容易区分CSS中其他input控件(如文本字段)。注意向后浏览器的兼容性。

    input { 
    
    } 
    button { /* Always works */ 
    
    } 
    input[type=button] { /* Not supported in IE < 7 */ 
    
    } 
    
+0

是否有,我可以禁用提交按钮发送数据到服务器?我已经有骨干听众的按钮,将使服务器发布,但只需要按钮类型提交的可访问性。 – akantoword

+0

@jlei你可以在'onclick'事件中返回'false'。 – Midas

+0

不会让我的骨干听众陷入困境吗?或者他们会分开两件事? – akantoword

0

<button type="button"></button>按钮将无法提交表单 - 它们默认情况下不执行任何操作。 Button不会自行提交表单。它是一个简单的按钮,用于通过javascript执行某些操作,而Submit是一种按钮,默认情况下会在用户单击提交按钮时提交表单。