有关用js在两个页面传参数的问题~~~

nyqxd 2011-04-18 02:38:18
从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");
...全文
775 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

js页面跳转时传参与接受参数


Default.aspx //传参页面

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function test()
{
window.location.href="Default3.aspx?id=10&name=zhangsan";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="width:100%; height:100%; text-align:center;">
<input id="Button1" type="button" value="js传参" onclick="test()" />
</div>
</form>
</body>
</html>



Default3.aspx //接受参数页面

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" src="JS/jquery-1.4.1.js"></script>
<script type="text/javascript">
function QueryString()
{
//构造参数对象并初始化
var name,value='',i;
var str=location.href.toString().toLowerCase(); //获得浏览器地址栏URL串
var num=str.indexOf("?")
str=str.substr(num+1); //截取“?”后面的参数串
var arrtmp=str.split("&"); //将各参数分离形成参数数组
var showStr="";
for(i=0;i < arrtmp.length;i++)
{
num=arrtmp[i].indexOf("=");
if(num>0)
{
name=arrtmp[i].substring(0,num);//取得参数名称
value=arrtmp[i].substr(num+1); //取得参数值
this[name]=value; //定义对象属性并初始化
showStr+="name="+name+" value="+value+"<br />";
}

}
$("#a").html(showStr);
}

</script>
</head>
<body onload="QueryString()">
<form id="form1" runat="server">
<div id="a">

</div>
</form>
</body>
</html>


zhangping1990a 2011-09-14
  • 打赏
  • 举报
回复
可以在new的窗口直接getElementById,把参数显示在需要的位置
nyqxd 2011-04-18
  • 打赏
  • 举报
回复
已经解决,分数按帮助大小给,谢谢。
ycproc 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hch126163 的回复:]

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;

不就可……
[/Quote]

+1
funli 2011-04-18
  • 打赏
  • 举报
回复
用location.replace就是替换原来的窗口页面啊
toury 2011-04-18
  • 打赏
  • 举报
回复
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();
}


Horrison 2011-04-18
  • 打赏
  • 举报
回复
window.open('http://127.0.0.1:8080/pm/html/b.html');
在打开的时候,加上target=_self不行吗
hch126163 2011-04-18
  • 打赏
  • 举报
回复
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;

不就可以了
cb1156 2011-04-18
  • 打赏
  • 举报
回复
把参数写在地址栏 或者POST提交
_self的时候只能这样。 不过也可以用COOKIE。。。。。。
nyqxd 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 knightzhuwei 的回复:]

换一种方法实现跨页面js传参 否则实现不了
[/Quote]
能否说详细一点,js不太懂啊~
我只要实现两个功能,1.在同个窗口打开一个页面;2,传一个参数过去
knightzhuwei 2011-04-18
  • 打赏
  • 举报
回复
换一种方法实现跨页面js传参 否则实现不了
nyqxd 2011-04-18
  • 打赏
  • 举报
回复
等待高手,有满意答案即结贴,谢谢!
Visual Studio Code 是由微软开发的一款免费、开源、跨平台的现代化轻量级代码编辑器,自发布以来迅速成为全球开发者最受欢迎的工具之一。它结合了编辑器的轻便性和集成开发环境(IDE)的强大功能,支持多种编程语言和开发场景,核心特点: 1. 跨平台支持 可在 Windows、macOS 和 Linux 上运行,保持一致的用户体验。 2. 轻量级与高性能 启动速度快,占用资源少,适合处理大型项目或低配置设备。 3. 智能代码补全 内置 IntelliSense(智能感知),提供代码提示、参信息、快速修复等功能,支持 JavaScript、TypeScript、Python、C++ 等主流语言。 4. 内置终端 直接在编辑器内打开集成终端(支持 PowerShell、CMD、Bash 等),方便执行命令行操作。 5. 调试工具 内置调试器,支持断点、变量监视、调用堆栈查看等,无需离开编辑器即可调试代码。 6. Git 集成 直接通过侧边栏管理 Git 仓库,支持提交、分支切换、冲突解决等操作。 7. 丰富的扩展生态系统 通过 Extensions Marketplace 可安装千款插件,扩展功能包括: 语言支持:如 Java、Go、Rust 等。 主题与图标:自定义界面风格。 工具集成:如 Docker、Kubernetes、据库连接等。 效率工具:如 REST Client、Live Server 等。 8. 自定义与主题 支持修改键盘快捷键、界面主题、文件图标等,打造个性化开发环境。 9. 多光标编辑 按住 Alt(Windows/Linux)或 Option(macOS)点击可添加多个光标,同时编辑多处代码。 10. 远程开发支持 通过 Remote - SSH、Remote - Containers 等扩展,可直接连接远程服务器或开发容器,实现无缝协作。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧