如果我使用表单并提交按钮,那么浏览器可以记住文本输入字段,但如果我只使用输入类型,没有表单并且按钮操作是onclick事件,那么浏览器不会缓存输入值用户。
有没有办法让浏览器在不使用实际提交的情况下仍然缓存“表单”输入?
下面是示例代码,显示了我的页面。当用户单击搜索时,将调用一个javascript函数来填充div“results”。一切正常,但没有浏览器会缓存文本输入。
<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>
答案 0 :(得分:1)
无法强制浏览器保存此信息。只要您想要保存的输入相对较短,您就可以使用JavaScript来存储包含此信息的Cookie。然后,在将来查看页面时,您可以使用这些cookie来填充输入字段。但要注意敏感信息。
或者,您可以通过AJAX请求将用户输入存储在您自己的服务器上。
答案 1 :(得分:0)
有没有办法让浏览器在不使用实际提交的情况下仍然缓存“表单”输入?
没有
过去曾经工作的是提交到空白页面,但这在所有浏览器中都不再有效。
答案 2 :(得分:0)
是否可以使用javascript中的异步请求更新“results”div,以便页面实际上不会刷新/提交,但结果只是直接显示?
这将涉及拦截表单的提交操作,并在您的服务器上编写将执行搜索的不同端点,只是返回表单所需的数据。在我的回答中描述对我来说有点多,但这是人们通常做的更好的可用性;你可以通过谷歌搜索“ajax表单提交”找到比我能提供的更好的教程。