button
与type="button"
与type="submit"
之间是否存在差异?是否存在功能差异,或者它只是一个描述性名称,以便更轻松地阅读代码?
这与input
不同吗?
答案 0 :(得分:9)
来自since 2015:
type
按钮的类型。可能的值有:
- submit :该按钮将表单数据提交给服务器。 如果未指定属性,则为默认值,或者属性动态更改为空值或无效值。
- 重置:该按钮会将所有控件重置为初始值。
- 按钮:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本,这些事件在事件发生时触发。
至于button
和input
之间的差异:
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)
按钮的样式可以比锚定标签(链接)的输入样式更好。
输入可以实现与按钮相同的功能,但设计较丑陋。
假设输入是老式的,按钮则更酷。