请问关于两个窗口间数据传递的问题

jthkl 2006-02-13 10:23:52
有一个网页是输入信息的网页,包括收件人、地址、邮编等,在这个网页上有一个地址簿按钮,我用window.open新开了一个窗口,上面是地址,每行有一个单选框,我想做一个提交按钮,当用户选择了一行点提交则把这个窗口关闭,然后在以前的父网页上直接填入地址,如何做?

我想用abc.asp?address="beijing..."的方式提交,但是不知道如何让父窗口更新,而不是当前的窗口更新。

或者我想用javascript直接更新父窗口上的文本框的值,不知道如何做?

请高手指导。我刚接触js不久很多简单的问题都不会,麻烦了。
...全文
160 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jthkl 2006-02-13
  • 打赏
  • 举报
回复
非常感谢kimsoft.

还想问一下

请问如果我想在子窗口中提交信息到父窗口应该怎么做?
jthkl 2006-02-13
  • 打赏
  • 举报
回复
请问我在子窗口中action里如何写才能在父窗口中更新?因为缺省是在当前窗口里更新的。

我尝试在form里面加上 onSubmit="abc()"

function abc()
{
parent.form1.postnumber.value=100021;
}
</script>

也不行,请问如何改正?
KimSoft 2006-02-13
  • 打赏
  • 举报
回复
楼主说得不是很清楚,说一下调用的方法
在打开的窗体中(son.asp)传值给父窗口(parent.asp)

son.asp

<script>
//把当前的文本框s中的值传组父窗口中的文本框p
window.opener.document.getElementById("文本框p).value = document.getElementById("文本框s).value;
window.close();
</script>
xxuu503 2006-02-13
  • 打赏
  • 举报
回复
window.opener就是父窗口
网络老男孩了 2006-02-13
  • 打赏
  • 举报
回复

CC.HTM
------------------------------------------------------------------------------------------------------------------------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新窗口CC</title>
</head>


<base target="_self"> <!--这句话非常重要,只要加上才能保证在弹出窗口中调用服务端代码而不会再弹出一个新窗口-->
<body>
<form id="sendForm"> 请输入资料:
<input type="text" id="writeData">
<input type="button" value="送回父窗口" onClick="send(sendForm.writeData.value);">
</form>
<script language="JavaScript">
function send(val)
{
window.returnValue=val
window.close();
}
</script>

</body>

</html>


网络老男孩了 2006-02-13
  • 打赏
  • 举报
回复
BB.HTM

重要提示:你弹出窗口中调用的是ASPX文件时,必须在Page_Load事件中加入以下代码
Response.Expires = 0; Response.Cache.SetNoStore(); Response.AppendHeader("Pragma", "no-cache");
否则,每次弹出的页面都是上一次的Cache,不会改变。

------------------------------------------------------------------------------------------------------------------------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新窗口BB</title>
</head>


<base target="_self"> <!--这句话非常重要,只要加上才能保证在弹出窗口中调用服务端代码而不会再弹出一个新窗口-->
<body>
<form id="sendForm"> 请输入资料:
<input type="text" id="writeData">
<input type="text" id="writeData1">
<input type="button" value="送回父窗口" onClick="send(sendForm.writeData.value,sendForm.writeData1.value);">
</form>
<script language="JavaScript">
function send(val,val1)
{
//取得父窗口传过来的对象
var myObj = window.dialogArguments;
//赋值
myObj.getData.value = val;
myObj.getData1.value = val1;
//关闭窗口
window.close();
}
</script>

</body>

</html>

网络老男孩了 2006-02-13
  • 打赏
  • 举报
回复
showModalDialog函数的使用 (转)
本范例可以实现弹出一个模态窗口,并演示了两种接收和传递参数的方法,同时可以接受模态窗口返回的多个变量

showModalDialog帮助可以参阅微软MSDN http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp
AA.HTM
--------------------------------------------------------------------------------------------------------------------------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>主界面</title>
</head>

<body>
<form id="getForm"> 回传值:<input type="text" id="getData" readOnly> <input type="text" id="getData1" readOnly>

</form>
<input type="button" value="打开新窗口1" onClick="openWin1()">
<input type="button" value="打开新窗口2" onClick="openWin2()">
<script language="JavaScript">
function openWin1()
{
var srcFile = "BB.htm"; //新窗口的文档名称
var winFeatures = "dialogHeight:300px; dialogLeft:200px;";
var obj = getForm; //将form作为对象传递给新窗口
window.showModalDialog(srcFile, obj, winFeatures);
}
function openWin2()
{
var srcFile = "CC.htm"; //新窗口的文档名称
var winFeatures = "dialogHeight:300px; dialogLeft:200px;";
var obj = getForm.getData.value; //将form作为对象传递给新窗口
var str=window.showModalDialog(srcFile, obj, winFeatures);
if(str!=null)
document.getForm.getData.value = str;
}

</script>

</body>

</html>

mingxuan3000 2006-02-13
  • 打赏
  • 举报
回复
信息多不多?如果一个,就像上面那样,
多的话
var str1=document.getElementById("文本框1").value+';'+document.getElementById("文本框2").value+';'+document.getElementById("文本框3").value+...
window.opener.document.getElementById("文本框p).value =str1;
xxuu503 2006-02-13
  • 打赏
  • 举报
回复
请问如果我想在子窗口中提交信息到父窗口应该怎么做?


kimsoft说的很清楚了

//把当前的文本框s中的值传组父窗口中的文本框p
window.opener.document.getElementById("文本框p).value = document.getElementById("文本框s).value;



除了这个你还想干什么?

87,907

社区成员

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

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