button
a with type="button"
vs之间有区别type="submit"
吗?是否存在功能差异,或者它只是一个便于代码阅读的描述性名称?
这有什么不同input
吗?
button
a with type="button"
vs之间有区别type="submit"
吗?是否存在功能差异,或者它只是一个便于代码阅读的描述性名称?
这有什么不同input
吗?
来自MDN:
type
按钮的类型。可能的值为:
- submit:按钮将表单数据提交到服务器。如果未指定属性,或者属性动态更改为空值或无效值,则这是默认值。
- reset:该按钮将所有控件重置为其初始值。
- button:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本,这些事件在事件发生时被触发。
button
至于和之间的区别input
:
Abutton
可以有一个单独的值作为数据,而对于一个input
数据和按钮文本总是相同的:
<input type="button" value="Button Text"> <!-- Form data will be "Button Text" -->
<button type="button" value="Data">Button Text</button>
Abutton
可以有 HTML 内容(例如图像),而 aninput
只能有文本。
A可能更容易与CSS 中的其他控件(如文本字段)区button
分开来。input
注意向后浏览器兼容性。
input {
}
button { /* Always works */
}
input[type=button] { /* Not supported in IE < 7 */
}
具有“按钮”类型的按钮不会提交表单,但没有类型或 type=submit(默认)的按钮将提交。type=submit 的按钮与 type=submit 的输入几乎相同,但按钮可以包含 HTML 内容。
<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
}
按钮的风格化比用于锚标签(链接)的输入要好得多。
输入可以实现与按钮相同的功能,但设计更丑陋。
假设输入是老式的,按钮更酷。
它们在向服务器提交表单数据方面有不同的默认行为。按钮有一个名为“type”的属性,可以包含这些值:
submit:具有将表单数据提交到服务器的默认行为。如果未指定属性,或者属性动态更改为空值或无效值,则这是默认值。
button:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本,这些事件在事件发生时被触发。
<button type="button"></button>
按钮不会提交表单 - 默认情况下它们不做任何事情。按钮不会自行提交表单。它是一个简单的按钮,用于使用 javascript 执行某些操作,而提交是一种按钮,默认情况下,只要用户单击提交按钮,就会提交表单。