window.showModalDialog学习和两个窗体的操作

最近做项目的时候,遇到了两个窗体交换数据!在网上查了一下资料,和自己的一些知识,整理如下!

打开窗口:

[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();" />

 

 

 

 

 

 

“七”乐无穷,尽在新浪新版博客,快来体验啊~~~请点击进入~

你可能感兴趣的:(window.showModalDialog学习和两个窗体的操作)