使用AJAX表单时,如何让Chrome将用户的输入保存到其自动完成历史记录中

问题描述

Chome是为了简单起见。我也对Firefox感到好奇

在非AJAX格式中,当用户将数据输入具有名称的字段中时,将来当他们想要再次将数据放入该字段时,该数据将被记住。

所以,如果我有这个:

<h1>Normal Form</h1>
<form id="normalForm" action="/api/submitData" method="POST">
    <input name="willAutofillInTheFutureNormal" type="text" />
    <input type="submit" value="Submit" />
</form>

然后,当单击Submit按钮时,Chrome会将数据发布到后端,并且当用户再次访问该页面时,如果单击该字段,则将显示其先前的条目。 / p>

但是,如果我添加这段代码

$("#form").submit(e => {
    e.preventDefault();
    const data = {
        data: document.getElementsByName("willAutofillInTheFuture")[0].value
    };
    $.post("/api/submitData",JSON.stringify({ data: data }));
});

Chrome现在不再保存输入。

您可以在这里尝试。 JSFiddle
注意:,使用常规表单重新加载页面并查看自动完成功能时,您需要重新运行。

我尝试更改action URI,并按照Getting Chrome to prompt to save password when using AJAX to login中的建议将表单设置为具有display:none,但这并不能单独使用或组合使用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...