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