如何覆盖(禁用)表单标记内的按钮标记的“提交”行为?

时间:2011-02-24 05:23:43

标签: jquery html

<form action="">
  <button>click</button>
</form>`

表单内按钮的默认行为是提交该表单。

如何禁用该按钮的提交行为?

3 个答案:

答案 0 :(得分:49)

为其添加type="button"

<button type="button">Click</button>

可用的类型是:

  • “submit”:默认值。提交表格。
  • “reset”:重置表单的输入。
  • “按钮”:什么都不做。

一个很好的参考:https://developer.mozilla.org/en/DOM/HTMLButtonElement

答案 1 :(得分:5)

这将通过javascript

禁用
<button onclick='return false'>click</button>

但你可以定义类型

<button type='button'>click</button>

答案 2 :(得分:4)

在某些情况下,您希望保留submit按钮的细节(例如,在移动设备上,可以通过键盘触发submit按钮,但仅限于按钮是表单和submit)类型的一部分。在这种情况下,您需要做的是阻止按钮的默认操作。

使用jQuery 1.7+(使用.on - 我强烈建议阅读文档 - 使用.on可能会对性能造成很大影响有很多细微差别)

$(document).on("click", "button", "event", function(evt) {
    evt.preventDefault();
    ...
}

使用旧版本的jQuery ...

$("#button-id").bind("click", function(evt, ui) {
    evt.preventDefault();
    ...
}

请注意,您可以使用任何选择器(按类,元素类型等选择)或绑定到事件的方法(而不是.bind,酌情使用.live.delegate到你的jquery版本。