作者:mobiledu2502912043 | 来源:互联网 | 2024-11-09 09:28
本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。
从a.html跳转到b.html页面,同时传一个参数过去。
我现在已经实现这些功能,但是这个b.html是新打开的,我想让b.html页面代替a.html,请问该如何实现?具体请看代码和注释:
a.html:
function openPage2(value){ //在a.html页面里调用这个函数,新打开b.html,同时把value传过去
passToPage2.staffId=value;
window.open('http://127.0.0.1:8080/pm/html/b.html');
}
b.html:
Ext.onReady(function(){ //打开b.html后,会自动加载这个函数
var data = window.opener.passToPage2.staffId;//获得传过来的值,这个功能已经实现
}
也就是说,现在可以调到b.html,也可以传值,但是b.html是新打开的,我想让b.html在原来的窗口打开,却无法实现。我试过已下写法,测试未通过:
window.open('http://127.0.0.1:8080/pm/html/b.html',"_self");
14 个解决方案
把参数写在地址栏 或者POST提交
_self的时候只能这样。 不过也可以用COOKIE。。。。。。
function openPage2(value){ //在a.html页面里调用这个函数,新打开b.html,同时把value传过去 passToPage2.staffId=value; window.open(); }
window.location.href='http://127.0.0.1:8080/pm/html/b.html?staffId='+value;
不就可以了
window.open('http://127.0.0.1:8080/pm/html/b.html');
在打开的时候,加上target=_self不行吗
function openPage2(value){ //在a.html页面里调用这个函数,新打开b.html,同时把value传过去
passToPage2.staffId=value;
window.open('http://127.0.0.1:8080/pm/html/b.html');
window.opener=null;
window.open('','_self','location=no,menubar=no,toolbar=no,statusbar=no,resizable=yes');
window.close();
}
用location.replace就是替换原来的窗口页面啊
可以在new的窗口直接getElementById,把参数显示在需要的位置