type="button"
和type="submit"
的之间有区别吗?它们在功能上有差异,还是只是为了更容易阅读代码而进行描述的名称?
这与输入框有什么不同吗?
type="button"
和type="submit"
的之间有区别吗?它们在功能上有差异,还是只是为了更容易阅读代码而进行描述的名称?
这与输入框有什么不同吗?
来自MDN:
type
按钮的类型。可能的值包括:
- submit:按钮提交表单数据至服务器。如果未指定该属性或者将该属性动态更改为空或无效的值,则这是默认行为。
- reset:按钮重置所有控件的初始值。
- button:按钮没有默认行为。它可以与元素事件相关联的客户端脚本,当事件发生时触发脚本。
至于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 */
}
onclick
事件中可以返回 false
。 - Midas类型为 "button" 的按钮不会提交表单,但没有类型或类型为 submit(默认)的按钮将会提交。类型为 submit 的按钮与类型为 submit 的输入几乎相同,但按钮能够包含 HTML 内容。
<input type="button" />
<input type="submit">
当用户单击按钮时,除非您使用JavaScript进行了其他规定,否则按钮将提交它们所在的表单。
当以下代码提交表单时,我们应该使用type=button而不是type=submit来防止表单重复提交。
@using (Html.BeginForm("View", "Controller", FormMethod.Post, new { id = "signupform" }))
{
//Form elements
}
<button type="button"></button>
按钮不会提交表单 - 它们默认情况下什么也不做。按钮本身不会提交表单。它是一个简单的按钮,通过使用 JavaScript 执行某些操作,而“提交”是一种按钮,每当用户单击提交按钮时,默认情况下会提交表单。