按钮类型"按钮" vs."提交"

时间:2016-06-09 20:59:03

标签: html html-input htmlbutton

buttontype="button"type="submit"之间是否存在差异?是否存在功能差异,或者它只是一个描述性名称,以便更轻松地阅读代码?

这与input不同吗?

6 个答案:

答案 0 :(得分:9)

来自since 2015

  

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

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

至于buttoninput之间的差异:

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

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

  • 在CSS中,button可能更容易区分其他input控件(如文本字段)。注意向后兼容浏览器。

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

答案 1 :(得分:5)

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

答案 2 :(得分:1)

关于向服务器提交表单数据,它们具有不同的默认行为 该按钮具有一个名为“ type”的属性,并且可以包含以下值:

提交:具有将表单数据提交到服务器的默认行为。如果未指定该属性,或者该属性动态更改为空值或无效值,则为默认设置。

按钮:该按钮具有默认行为。它可以具有与元素的事件相关联的客户端脚本,这些脚本在事件发生时触发。

答案 3 :(得分:1)

<input type="button" /> 

按钮将不会提交表单-默认情况下,它们不会执行任何操作。它们通常与JavaScript一起用作AJAX应用程序的一部分。

<input type="submit"> 

按钮将提交用户单击时所在的表单,除非您使用JavaScript另行指定。

通过以下代码提交表单时,我们应使用type = button而不是type = submit来防止两次提交表单。

@using (Html.BeginForm("View", "Controller", FormMethod.Post, new { id = "signupform" }))
        {
         //Form elements
        }

答案 4 :(得分:0)

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

答案 5 :(得分:0)

按钮的样式可以比锚定标签(链接)的输入样式更好。

  • 图片
  • 内容等。

输入可以实现与按钮相同的功能,但设计较丑陋。

假设输入是老式的,按钮则更酷。