最近做项目的时候,遇到了两个窗体交换数据!在网上查了一下资料,和自己的一些知识,整理如下!
打开窗口:
[1]:window.open(); //打开一个窗口
[2]:var returnVal = window.showModalDialog("url","params","style"); //打开模式窗口
[3]:var returnVal = window.showModelessDialog(("url","params","style");//打开非静态模式窗口
a.aspx页面:下面用JQuery框架
//js
function showWindow(){
var obj = $("#lblTaskAstrict").text();
//returnVal :接受模式窗口的返回值【在模式窗口关闭的时候获取的】
//obj为参数,可以是对象,数组 [obj.name = "JINHO";]
var returnVal = window.showModalDialog("b.aspx",obj,"center: Yes; help: Yes; resizable: Yes; status: No;dialogHeight:500px;dialogWidth:600px");// 注意这里是用;号分隔的,NND那次我做项目用,做分隔,一直没有找到问题在哪里!不过以后不会犯同样的错误了!
$("#lblTaskAstrict").text(returnVal);
}
// html代码
input type="button" name="TaskAstrict" id="TaskAstrict" value="任务限制" onclick='showWindow();' />
<br /><asp:Label ID="lblTaskAstrict" runat="server" />
b.aspx页面:
<script language="javascript" type="text/javascript">
<!--
function Button1_onclick() {
window.returnValue = $("#input").value;//给模式窗口的返回值赋值
var obj = window.dialogArguments;//获取参数值
//alert("参数:"+obj.name+","+obj.age);
window.close();
}
function init(){
var obj = window.dialogArguments;;//获取参数值
$("#input").value = obj;
}
// -->
</script>
<base target="_self"></base>//因为在模式窗口中 F5 不能刷新页面 onkeydown实现了
</head>
<body onload="init();" onkeydown="if (event.keyCode==116){reload.click()}">
<form id="form1" runat="server">
<div>
<input value="input" id="input" runat="server" />
<input type="button" value="TEST" id="Button1" language="javascript" onclick="return Button1_onclick()" />
<a id="reload" href="TaskAstrict.aspx" style="display:none" />//用于刷新
</div>
</form>
</body>
</html>
window.open();
中调用父窗口的关键字为:opener
a.html:
<script language="javascript" type="text/javascript">
<!--
function Getdata(data) {
alert(data);
}
// -->
</script>
<a href="javascript:window.open('b.html'); ">打开一个窗口</a>
b.html:
<script language="javascript" type="text/javascript">
<!--
function test() {
opener.Getdata($("#input").val()); //显示input
}
// -->
</script>
<input value="input" id="input" runat="server" />
<input type="button" value="TEST" id="Button1" language="javascript" onclick="test();" />
“七”乐无穷,尽在新浪新版博客,快来体验啊~~~请点击进入~