我有一个<button>元素,我希望它的点击触发表单的 AJAX POST。如果我将<button>元素放在表单中,它会以提交表单的默认行为(非 ajax)响应点击。为了防止表单中元素的这种默认行为<button>,我可以执行以下任一操作:
- 分配
type="button"给<button>元素 - 在事件处理程序中调用 e.preventDefault()
click(即使用 jQuery) - 将按钮移到表单的外部
每种方法的优缺点是什么?
注意:在互联网上找到了无数的 SO 帖子或材料,它们谈论如何防止<button>元素提交其封闭形式,但没有一个谈论 WHY。这是一个为什么的问题。