如何防止表单提交非提交按钮?

vla*_*lad 2 javascript jquery

HTML:

<form id="form" action="/" method='post'>
<button>Button</button>
<input type="text">
<input type="submit" id="send-form" value="Send">
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

$('#form').submit(function() {
    console.log('send');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

为什么当我按下时Button,表单被提交(我需要这个元素进行另一个动作)?怎么预防这个?

Wog*_*gan 9

默认操作<button>是提交按钮,但您可以通过执行以下操作使其成为"普通按钮":

<button type="button">Button</button>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅HTML规范.


rek*_*ire 5

尝试添加onclick监听器:

<button onclick="return false;">Button</button>
Run Code Online (Sandbox Code Playgroud)

这应该阻止按钮提交表单.通过该技巧,点击操作被取消.

  • 有关更多信息,请访问http://stackoverflow.com/questions/932653/how-to-prevent-buttons-from-submitting-forms (2认同)