用window.open()的话存在浏览器兼容问题,所以改用 window.showModalDialog()但传值出现了错误。。

解决方案 »

  1.   

    window.dialogArguments.document.getElementById('txtpunit').value好像没看到有人这么用过,window.dialogArguments传过来的一般是变量或者变量数组,
    看你子页面代码是想单击gridview行向父页面textbox传值?如果是这样的话,请先试试用:
    top.document.getElementById('txtpunit').value或者parent.document.getElementById('txtpunit').value看能否实现
      

  2.   

    嗯,就是想单击gridview行向父页面textbox传值,但你说的这两个也不行。。
      

  3.   

    你第二个参数传的是字符串"window"。可以试一试window或者this。不确认是不是能用在这里
    例子代码:父窗口:<HTML>
    <input type=button value="CustomConfirm" 
        onclick="ShowMyDialog()">
    <script language="javascript">
    function ShowMyDialog()
    {
        var obj = new Object(); 
        obj.data1 = 'some data 1';
        obj.data2 = 'some data 2';
        showModalDialog('Child.htm', obj, '');
        alert(obj.returnvalue);
    }
    </script>
    </HTML>
    子窗口:<HTML>
    <body onload="ReadPassedData()" 
        onunload="DoUnload()">
    <input type=text id="textbox1">
    <br>
    <input type=text id="textbox2">
    <br>
    <br>
    Return value:<br>
    <input type=text id="textbox3" 
        value="type something">
    </body>
    <script language="javascript">
    function ReadPassedData()
    {
        var obj = window.dialogArguments;
        var tb1 = document.getElementById('textbox1');
        tb1.value = obj.data1; 
        var tb2 = document.getElementById('textbox2');
        tb2.value = obj.data2; 
    }
    function DoUnload()
    {
        var obj = window.dialogArguments;
        obj.returnvalue = textbox3.value;
    }
    </script>
    </HTML>代码来自:
    Pass Value From Parent Form to Child Form using javascript showModalDialog
    http://stackoverflow.com/questions/1490294/pass-value-from-parent-form-to-child-form-using-javascript-showmodaldialog
      

  4.   

    往回传值可以用return value
    <br /><html>
    <br /><script language="javascript">
    <br />function openwindow()
    <br />{
    <br />retval=window.showModalDialog("modaltarget.htm")
    <br />document.getElementById('text1').value=retval
    <br />}
    <br /></script>
    <br /><body>
    <br /><form name=frm>
    <br /><input name=text1 type=text>
    <br /><input type=button onclick="javascript:openwindow()" value="Open window..">
    <br /></form>
    <br /></body>
    <br /></html>
    <br /><html>
    <br /><head>
    <br /><script language="javascript">
    <br />function changeparent()
    <br />{
    <br />window.returnValue="Value changed.."
    <br />window.close()
    <br />}
    <br /></script>
    <br /></head>
    <br /><body>
    <br /><form>
    <br /><input type=button onclick="javascript:changeparent()" value="Change main window’s textbox value..">
    <br /></form>
    <br /></body>
    <br /></html>
    代码来自:
    Accessing parent window from child window or vice versa using JavaScript
    http://www.codeproject.com/Articles/25388/Accessing-parent-window-from-child-window-or-vice#b
      

  5.   

     子页面:
    e.Row.Attributes.Add("onclick ", " window.returnValue='" + name + "';window.close();");  
    父页面:
    <script type="text/javascript"  >
            function manage() {
                var hdc = window.showModalDialog("detail.aspx", "window", "resizable:no;scroll:no;status:no;dialogLeft=900px;dialogTop=400px;dialogWidth=315px;dialogHeight=188px;center=no;help=no");
                document.getElementById('txtpunit').value=hdc;
          }
        </script>