Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向页面并调用javascript函数_Javascript_Jquery - Fatal编程技术网

重定向页面并调用javascript函数

重定向页面并调用javascript函数,javascript,jquery,Javascript,Jquery,我需要在单击submit后重定向到另一个页面,并调用一个进行ajax调用的函数。这就是我所拥有的: $('#submitButton').click(function() { window.location.href = "otherPage"; displayData(); }); 另外,我尝试的另一种方法是使用 var elem = window.document.getElementById(field); elem.value = "new-value"; 这样我就可以调用其他页面

我需要在单击submit后重定向到另一个页面,并调用一个进行ajax调用的函数。这就是我所拥有的:

$('#submitButton').click(function() {

window.location.href = "otherPage";
displayData();
});
另外,我尝试的另一种方法是使用

var elem = window.document.getElementById(field);
elem.value = "new-value";

这样我就可以调用其他页面上提交按钮的eventhandler,但它不起作用。请让我知道我错在哪里。

我不确定是否有一个简单的方法来实现这一点,但您可以在重定向到的url中添加哈希,然后只需检查哈希是否存在,执行函数并删除哈希即可

以下是一些方便的URL:

  • -有关此功能以及如何使用它的信息
  • -这有点问题,因为
    window.location.href=''删除哈希后的所有内容
    • 目标URL中添加的哈希(正如Arko Elsenar所说)或querystring参数将允许您检测到目标URL后要执行的操作。 如果您想传递更多信息,则散列会使查询字符串更干净,而散列会使它变得更简单

      例如,在第一页:
      window.location.href=“other/page.html#displayData”

      在第二页:

      if(window.location.hash=='#displayData'){displayData();}

      另一种方法是使用HTML5存储API,如果且仅当这两个页面位于同一个域上

      在重定向之前,第一页可以执行以下操作:
      localStorage.displayData=true
      第二条:
      if(localStorage.displayData){displayData();}
      但是,在这种情况下,您需要在使用localStorage.displayData值时清除它,否则它将永远保留在那里,并且您的第二个页面将始终发现它设置为true。
      delete localStorage.displayData


      总而言之,哈希方法在这里似乎是最好的。

      我认为displayData()在重定向后不起作用。您必须将
      displayData()包含到目标页面,并在加载时调用它。displayData已经包含在目标页面中,我可以从那里调用它,但是我不能用我描述的方式来称呼它。@SKaul你知道你一次只能在一个窗口上保存一页吗?设置
      window.location.href
      将加载一个新页面,当前页面中的所有代码将替换为新页面的代码,包括设置
      href
      后的函数调用。另一方面,“
      otherPage
      ”在加载到浏览器之前(加载到服务器上的文件之前)不存在,因此任何提交处理程序也不存在。如果您在另一个选项卡、弹出窗口或iframe中打开了此“
      otherPage
      ”,则可以调用其中的函数。很可能您在重定向之前添加了此警报,或者其他页面向您发出警报…谢谢,您能给我一个链接到任何这样做的示例吗?我已经改进了我的答案,以帮助您解决此问题。