1

如果我使用表单并提交按钮,那么浏览器可以记住文本输入字段,但如果我只使用输入类型,没有表单并且按钮操作是 onclick 事件,那么浏览器不会为用户缓存输入值。

有没有办法让浏览器在不使用实际提交的情况下仍然缓存“表单”输入?

下面是示例代码,显示了我的页面。当用户单击搜索时,将调用一个 javascript 函数来填充 div“结果”。一切正常,除了没有浏览器会缓存文本输入。

<h2>Device Cleaner</h2>
<p>Enter MAC Address of device to clean:</p>
<input type="text" id="entry" name="macaddr" onkeypress="keyChecker(event)">
<button type="button" id="start" onclick="query()">Search</button>
<div id="results"></div>
</body>
</html>
4

3 回答 3

1

无法强制浏览器保存此信息。只要您要保存的输入相对较短,您就可以使用 JavaScript 来存储带有此信息的 cookie。然后在将来查看页面时,您可以使用这些 cookie 来填充输入字段。不过要小心敏感信息。

或者,您可以通过 AJAX 请求将用户输入存储在您自己的服务器上。

于 2013-06-21T17:33:36.183 回答
0

有没有办法让浏览器在不使用实际提交的情况下仍然缓存“表单”输入?

不。

过去的工作是提交到一个空页面,但在所有浏览器中都不再工作了。

于 2013-06-21T16:36:59.697 回答
0

是否可以在 javascript 中使用异步请求更新“结果”div,以便页面实际上不会刷新/提交,而只是直接显示结果?

这将涉及拦截表单的提交操作,并在您的服务器上编写一个不同的端点来执行搜索,并返回您的表单所需的数据。我在回答中描述得有点多,但人们通常会这样做以提高可用性;你会发现一个比我通过谷歌搜索“ajax 表单提交”提供的更好的教程。

于 2013-06-21T18:57:44.817 回答