我需要重定向到另一个页面onClick of submit并调用一个函数进行ajax调用。这就是我所拥有的:
$('#submitButton').click(function() {
window.location.href = "otherPage";
displayData();
});
另外,我尝试的另一种方法是使用
在otherPage上设置表单字段var elem = window.document.getElementById(field);
elem.value = "new-value";
这样我就可以在otherPage上调用提交按钮的事件处理程序,但它不起作用。请让我知道我错在哪里。
答案 0 :(得分:5)
我不确定是否有一种简洁的方法来实现这一点,但你可以在你重定向到的url中添加一个哈希,然后只需检查哈希是否存在,执行函数并删除哈希。
以下是一些方便的网址:
window.location.href = '';
会删除哈希之后的所有。答案 1 :(得分:2)
哈希(如Arko Elsenaar所说)或添加到目标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
总而言之,哈希方法似乎最好。