Jquery 表单中的两个按钮

Jquery 表单中的两个按钮,jquery,html,Jquery,Html,我的表单中有两个按钮,似乎有一些奇怪的行为。无论何时单击“添加地址”按钮,事件处理程序都会正确执行,但完成后,它也会执行“提交”按钮的事件处理程序 按钮的代码如下所示: <button class="btn btn-success" id="add-address">Add Address</button> <button type="submit" class="btn btn-default">Submit</button> 一旦做了这个改变

我的表单中有两个按钮,似乎有一些奇怪的行为。无论何时单击“添加地址”按钮,事件处理程序都会正确执行,但完成后,它也会执行“提交”按钮的事件处理程序

按钮的代码如下所示:

<button class="btn btn-success" id="add-address">Add Address</button>
<button type="submit" class="btn btn-default">Submit</button>

一旦做了这个改变,一切都很好。有人能解释一下这种行为吗?提前感谢。

默认情况下,所有
按钮
元素都是
提交
按钮。您需要将
type=“button”
添加到第一个元素中,以阻止它在单击时在父
form
元素上引发提交事件

<button type="button" class="btn btn-success" id="add-address">Add Address</button>
<button type="submit" class="btn btn-default">Submit</button>
添加地址
提交

您的代码应如下所示

<button type="button" class="btn btn-success" id="add-address">Add Address</button>
<button type="submit" class="btn btn-default">Submit</button>
添加地址
提交
始终为
元素指定类型属性。不同的浏览器可能会对
元素使用不同的默认类型


非常感谢您的帮助!我从来不知道
按钮
元素默认为
type=submit
。太棒了,非常感谢您的帮助!我从来都不知道我应该总是指定type属性。请注意,“不同的浏览器”位指的是非常旧的IE版本,而且现在所有浏览器的行为都相同,遵守W3C默认为“提交”的标准。
<button type="button" class="btn btn-success" id="add-address">Add Address</button>
<button type="submit" class="btn btn-default">Submit</button>