有什么方法可以强制浏览器记住用于回击按钮的表单字段?

时间:2014-07-01 11:13:32

标签: php html ajax html5 forms

我有一个奇怪的问题。我为我们的业务创建了一个复杂的报价表,它使用大量的ajax根据用户输入返回产品价格。

我有6个隐藏字段,如下所示:

  • productname1
  • productname2
  • productname3
  • 和4,5和6

当用户输入更多信息时,他们会建立他们想要的产品数量。

我的问题是,一旦提交,如果我点击“返回” - 无论我通过ajax结果填充了多少其他字段,productname1是唯一填充的字段。

我检查了我的代码,但我发现任何干扰都没有。我的问题是......浏览器是不记得这些字段进入的状态,只是在第一次产品输入填充时将用户带回来了?

我正在使用“POST”方法从主表单页面进入第二页。

1 个答案:

答案 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>