【问题标题】:Safari Chrome form with no action not working没有任何操作的 Safari Chrome 表单不起作用
【发布时间】:2010-12-06 10:55:49
【问题描述】:
我正在使用 Django 和 jQuery 构建一个应用程序。对于 HTML 中的某些表单,我只使用 jQuery 进行 AJAX 调用,因此我将表单与 action="#" method="" 并拥有。
当我在 FF 中按下提交按钮时,它工作正常,没有重新加载任何内容,并且进行了 ajax 调用。然而,在 Chrome 和 Safari 中,页面会重新加载并从服务器重新请求。
有什么线索吗?
【问题讨论】:
标签:
forms
google-chrome
safari
action
【解决方案1】:
Webkit 和 Opera 尽可能地遵循 HTML5 草案。目前,form submission section 表示以 HTTP(S) 开头的操作,即使是 action="#" 或 action="",也会导致导航,当添加新的 GET 参数时,这应该会导致新的页面加载。如果您想阻止页面重新加载,您必须添加一个提交处理程序,该处理程序通过返回 false 或说 e.preventDefault() 来阻止默认操作。
【解决方案2】:
如果不考虑动作和方法会发生什么?如果您使用 ajax 调用提交,则无论如何都不需要这些。