【问题标题】:Go previous page and execute JQuery there转到上一页并在那里执行 JQuery
【发布时间】:2015-06-13 02:29:14
【问题描述】:

我有一个列表页面,其中有很多过滤器(复选框)。用户选择一些过滤器并检索结果。然后,用户可以通过单击任何结果来查看单个结果的详细信息。

现在我想要的是,当用户在查看详细信息后返回列表页面时,它应该会看到完整的过滤器。如果我通过 Javascript 返回函数 window.history.go(-1); 返回,可以看到过滤器。但问题是过滤器没有被处理。

要处理,需要单击提交按钮,这就是我的问题所在。

如何触发上一页的提交按钮?

这是我尝试过的。当从详细信息页面单击Back 按钮时调用此方法。

  $('#back-list').on("click", function(e) {

      e.preventDefault();

      window.history.go(-1);

      //This following line is not working
      $('.form-submit').trigger("click");
        return false;

    });

谢谢。

【问题讨论】:

  • 当您执行window.history.go(-1); 时,浏览器已经开始返回。所以下一行不会被执行,或者它不会有正确的行为。
  • 是的。我现在正在阅读以下答案。希望本地存储能正常工作。
  • 那个代码在 "$(function (){})" 里面吗?

标签: javascript jquery html


【解决方案1】:

您真的很可能想要使用会话来存储信息(或者至少我会)。

但是,您可以使用localStorage 来保存临时数据。

window.localStorage.setItem('submitform', true); 之类的内容添加到后退按钮侦听器。

然后在另一页 window.localStorage.getItem('submitform') == true; 上进行一些 javascript 检查,如果是,则执行 window.localStorage.setItem('submitform', false); 并提交现有表单。

【讨论】:

    【解决方案2】:

    我建议实施本地存储。

    这可能会帮助你Remember ajax added data when hitting back button

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多