我有一个奇怪的问题。我为我们的业务创建了一个复杂的报价表,它使用大量的ajax根据用户输入返回产品价格。
我有6个隐藏字段,如下所示:
当用户输入更多信息时,他们会建立他们想要的产品数量。
我的问题是,一旦提交,如果我点击“返回” - 无论我通过ajax结果填充了多少其他字段,productname1是唯一填充的字段。
我检查了我的代码,但我发现任何干扰都没有。我的问题是......浏览器是不记得这些字段进入的状态,只是在第一次产品输入填充时将用户带回来了?
我正在使用“POST”方法从主表单页面进入第二页。
答案 0 :(得分:3)
在刷新页面时,您无法强制浏览器重新填充输入字段。
某些用户禁用了从浏览器选项中保存表单数据的选项。
一些开发人员在输入字段上使用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>