使用JavaScript阻止表单';s提交

使用JavaScript阻止表单';s提交,javascript,forms,autocomplete,safari,form-submit,Javascript,Forms,Autocomplete,Safari,Form Submit,我想让Safari的表单自动填充功能在我的web应用程序中的表单上工作。我们所有的表单提交事件都被阻止了,相反,我们通过XHR(Ajax)POST将数据发送到服务器 问题是,Safari在其自动填充(autocomplete)“数据库”中创建新条目的默认设置要求表单的提交事件一直激发并冒泡。从我的测试中,这就是我得出的结论,它适用于form-GET和POST方法 Firefox中不存在此问题;我们所有的表单都保留了以前为每个字段“提交”的值。这是我们在Safari中想要的行为 在我们的应用程序中

我想让Safari的表单自动填充功能在我的web应用程序中的表单上工作。我们所有的表单提交事件都被阻止了,相反,我们通过XHR(Ajax)POST将数据发送到服务器

问题是,Safari在其自动填充(autocomplete)“数据库”中创建新条目的默认设置要求表单的提交事件一直激发并冒泡。从我的测试中,这就是我得出的结论,它适用于form-GET和POST方法

Firefox中不存在此问题;我们所有的表单都保留了以前为每个字段“提交”的值。这是我们在Safari中想要的行为

在我们的应用程序中,用户将在多个会话中多次填写同一表单。在某些情况下,浏览器可以根据用户先前提交的值自动完成(在Safari的案例中自动填充)这些字段

我想知道是否还有人在Safari上遇到过这个问题?如果他们有一个解决方案(即使是特定于Safari的)告诉(或强制)Safari将表单字段值保存到其自动填充数据库中(即使表单的提交事件被阻止),那就更好了


我尝试过在DOM的更高层使用preventDefault(),让提交事件冒泡到表单的父DOM节点;行为上没有区别。这可能只是Safari中的一个bug…

对于使用HTTPS的表单,这是Safari的预期行为,这违反了W3C标准


唯一的解决方法是包含一个指向HTTP资源的图像或类似标记。当然,您将丢失挂锁,您的页面将被视为不安全。

我在Safari和Chrome中都有同样的问题(这并不奇怪)。找不到答案。自去年以来,你找到解决方案了吗?Jean,我没有:-(这种行为很烦人。有关于这个问题的更新吗?可能是重复的