showModalDialog和showModelessDialog的变量传递

语法:vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])

1.假设sURL 是jump.aspx,在弹出的窗口jump.aspx的html代码中可以用window.returnValue返回值给当前窗口。

2.vArguments是当前窗口传给弹出窗口的变量,假如要把当前窗口的一个textbox里的值传给弹出窗口jump.aspx可以这样:

<script language=javascript>

        var strSendValue=objForm.sendValue.value;

        window.showModalDialog(jump.aspx,strSendValue,"dialogHeight:300px; dialogLeft:200px;"); 

    </script>

    <form id="objForm">

        <input type="text" id="sendValue" value="Jane">
        ......

    </form>
 

在jump.aspx页面的html代码中这样接受传来的值:

    <script language=javascript>

        var strReceiveValue=window.dialogArguments;

        ......

    </script>

vArguments可以是一个textbox,label……里的值,也可以是一个变量,甚至可以是一个对象,比如窗口的句柄等,如:

    window.showModalDialog(jump.aspx,window,"dialogHeight:300px; dialogLeft:200px;");

即把当前窗口的句柄(指针)传给了jump.aspx,然后,可以在jump.aspx的script里访问其父窗口的里的内容:

    var objParentForm=window.dialogArguments;

    var strValue=objParentForm.objForm.sendValue.value;

    对于有Tab控件的页面来说,这个功能可以帮助弹出窗口找到其父窗口。因为在有Tab控件的Form里弹出窗口用parent属性只能导航到Tab所在的 页面,而不能获得Tab选项卡里的子页面的句柄,用上述方法可以把Tab选项卡里的子页面的句柄直接传给弹出窗口,就可以访问其父窗口了!

你可能感兴趣的:(showModalDialog和showModelessDialog的变量传递)