showModalDialog在close之前
window.returnValue="值"var ret=showModalDialog()
ret就是返回的值了

解决方案 »

  1.   

    同意
    showModalDialog属性有width,height,dialogargs和return Value,方法有close(),需要返回值只有用window.returnValue了
      

  2.   

    例子:
    test.html<HTML><BODY>
    <input type="text" id="txt" size=20>
    <script>
    x = showModalDialog("testnew.html");
    txt.value = x;
    </script>
    </BODY></HTML>testnew.html:<HTML><BODY>
    <input type="text" name="dlgtxt">
    <button onclick="doSomething()"> return </button>
    <script>
    function doSomething(){
      returnValue = dlgtxt.value;
      close();
    }
    </script>
    </BODY></HTML>
      

  3.   

    可以通过dialogArguments的。我常常把window对象传给modalDialog,然后在modalDialog中调用原来窗口中的函数或对象,这样要处理复杂的情况的时候就很自由。比如显示日期选择器 <input onclick="showModalDialog('dateSelecter.html',window)" style="cursor:hand" readonly>在dateSelecter.html中选择日期后这样:
    dialogArguments.event.srcElement.value=......如果需要返回多个值的时候更显得方便:
    dialogArguments.selectDate(year,month,day)
    只要主窗口中有相应的selectDate方法,就可以接受、处理返回的数据。更复杂的情况下,传递自定义的对象更方便,不过要对javascript的自定义对象有比较好的了解。