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

标签 php ajax html forms

我有一个奇怪的问题。我为我们的企业创建了一个复杂的报价表,它使用大量 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/

相关文章:

php - MySQL - 此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询

php - 我如何向新注册用户发送确认电子邮件?

javascript - 如何使 AJAX 网站可爬行?

javascript - 无法从工厂 AngularJS 中的 JSON 文件中提取数据

html - Bootstrap 表插件导出选项

javascript - 一旦我们点击取消按钮,文本字段就会隐藏

PHP在mysql中插入由json对象发布的数据

javascript - 如何在 Ajax $.getJSON() 中获取 Json 作为键和值?

javascript - 如何在尺寸属性 magento 2 下方的产品详细信息页面中添加多个数量?