gpt4 book ai didi

javascript - 使用 JavaScript 时强制 Safari 表单自动填充条目以防止表单提交

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:06 25 4
gpt4 key购买 nike

我希望 Safari 的表单自动填充功能适用于我的网络应用程序中的表单。我们所有的表单提交事件都被阻止,而是我们将数据发送到服务器通过 XHR (Ajax) POST

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

Firefox 中存在这个问题;我们所有的表格都保留了之前为每个字段“提交”的值。这是我们希望在 Safari 中实现的行为。

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

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

我已经在 DOM 的上层尝试了 preventDefault(),让提交事件冒泡到表单的父 DOM 节点;行为没有区别。这可能只是 Safari 中的一个错误……

最佳答案

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

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

关于javascript - 使用 JavaScript 时强制 Safari 表单自动填充条目以防止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com