我有一个奇怪的问题。我为我们的企业创建了一个复杂的报价表,它使用大量 ajax 来根据用户输入返回产品价格。
我有 6 个隐藏字段,如下所示:
- 产品名称1
- 产品名称2
- 产品名称3
- 和 4、5 和 6
随着用户输入更多信息,他们会建立他们想要的产品数量。
我的问题是,提交后,如果我单击“后退”- productname1 是唯一填充的字段,无论我通过 ajax 结果填充了多少其他字段。
我检查了我的代码,但没有发现任何干扰。我的问题是……浏览器是否不记得这些字段进入的状态,只是将用户带回到第一个产品输入被填充时的状态?
我正在使用“POST”方法从主表单页面转到第二页。
最佳答案
您无法强制浏览器在刷新页面时重新填写输入字段。
一些用户在他们的浏览器选项中禁用了保存表单数据的选项。
一些开发人员在输入字段上使用 autocomplete="off"
以在刷新页面时强制清除输入字段。
我建议在用户填写表单时使用 HTML5 localStorage 来保存数据。
请记住,HTML5 localStorage 仅在现代浏览器上受支持。
这是使用 jQuery 和 HTML5 localStorage 的代码:
<input type="text" id="inputField" value="" />
<script type="text/javascript">
$(document).ready(function(){
$("#inputField").on("change", function(){
var input_field_value = $(this).val();
if(typeof(Storage) !== "undefined") {
// localStorage is supported
localStorage.setItem("my_input_field", input_field_value);
} else {
// No Web Storage support
}
});
});
</script>
关于php - 有什么方法可以强制浏览器记住用于点击后退按钮的表单字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24508868/