【问题标题】:IE9: Form values revert back to old value after AJAX form submitIE9:提交 AJAX 表单后,表单值恢复为旧值
【发布时间】:2013-04-11 09:42:42
【问题描述】:

我有一个非常奇怪的问题。我使用 jquery submit 提交表单。在我的 FF 和 IE9 的 PC 上,everythign 运行良好。 IE9 是企业标准,所有用户都安装了相同的版本。

一个用户现在每次提交后都会遇到问题

  • 表单字段(文本区域、选择、输入)恢复为以前的值
  • 当重新加载数据 (AJAX) 时,它会显示旧值(即使之前的提交实际上确实正确地将更新保存到数据库)

让新值显示的唯一方法是重新启动 IE9。我清除了历史记录(临时文件),但没有任何效果。

由于这在我的带有 IE9 的 PC 上运行良好,哪些设置会对此产生影响?其他想法?有点迷路了。

编辑:

其他用户也有同样的问题,但它也适用于某些用户,就像在我的电脑上一样

编辑 2:

只是为了澄清:我希望提交的值保留在输入字段中。提交是保存,用户应该能够继续输入数据并稍后再次保存。

编辑 3:

尝试了我电脑上的重置...按钮(重置 Internet Explorer 设置)。没有改变。仍然按预期工作。问题是我不能在用户 PC 上轻易做到这一点,因为他会丢失他的整个配置。

【问题讨论】:

    标签: internet-explorer jquery internet-explorer-9


    【解决方案1】:

    问题在于,在表单提交后,数据被重新加载以显示更改的元数据(上次更新用户和时间)也使用 AJAX。由于某种原因,GET AJAX 调用被缓存,因此返回了旧值。出于某种原因,我不知道我的电脑从未缓存过 GET 调用,因此它始终正常工作。

    解决办法是禁用缓存:

    $.ajax({
        "url": url,
        "type": "GET",        
        "cache": false,
        "dataType": 'json',
        //...
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多