sData = window.dialogArguments;
alert(sData.location.href)

解决方案 »

  1.   

    实在不行就把window 换成其他的,比如字符传/
    没有IE5了,明天测试一下
      

  2.   

    用window.returnValue方法向父窗口传回参数的方法不行吗?应该行吧
    试试
    var returnValue = window.showModalDialog(urlFrame+"?url='"+url+"'",window ,"dialogHeight: 620px; dialogWidth: 710px;  center: Yes; help: Yes; resizable: Yes; status: Yes");alert(returnValue);小窗口的returnValue改为:
    function returnValue(id,name)
    {
        var arrayPara=new Array(id,name);
       
        window.returnValue = arrayPara;    window.close();
    }
      

  3.   

    我知道问题出在哪了,
    用我上面的方法,把returnValue的函数名改成其他的,因为returnValue正好是关键字.
    函数里的window.returnValue = arrayPara;是把这个函数赋值了.
      

  4.   

    <input name=txt>
    <input type=button value=ok onclick="showModalDialog('ttt.htm',window)"><script language="JavaScript"><!--
    var mm;
    //--></script>
    <input type=button value=showMM onclick="alert(mm)">ttt.htm:
    <input name=aa>
    <input type=button value=直接对父页里赋值
     onclick="window.dialogArguments.document.all.txt.value=aa.value">
    <input type=button value=直接对父页里的变量赋值
     onclick="window.dialogArguments.mm=aa.value">
      

  5.   

    没错,returnValue这个函数名改一下,这种方式只能传递2048个字节
      

  6.   

    to shaopin
    我改过的,没用!to:meizz
    不行,在ie6可以得,但是ie5不行to:netlover
    我传另一个object也试过了,不行
    谢谢大家,大家再帮忙试试阿,必须在ie5通过才能帮我阿!
      

  7.   

    showModalDialog 要在IE5.5+ 才正常
      

  8.   

    是吗?
    你肯定?
    netlover 得文章说是ie4+但是可以打开模式窗口阿,只是不能返回参数,而且在模式窗口连window.close()都不支持
      

  9.   

    没人能再说两句吗? 郁闷ing
      

  10.   

    to:zhanghk
    但是我得代码和你一样阿,不行
    ie5 没有任何反应,连window.close  也失效了
    ie6 窗口关了,但是returnValue 是null
      

  11.   

    <script>
    <!--
    //Add by angle liu on 2003-2-27 begin
    var dialogWidth=400;
    var dialogHieght=400;
    var sFeatures;
    function ConstructDialog()
    {
    sFeatures="dialogHeight:" + dialogHieght + "px;"
    sFeatures=sFeatures + "dialogWidth:" + dialogWidth + "px;"
    sFeatures=sFeatures + "dialogTop:" + Math.ceil((screen.availHeight-dialogHieght)/2) + "px;"
    sFeatures=sFeatures + "dialogLeft:" + Math.ceil((screen.availWidth-dialogWidth)/2) + "px;";
    sFeatures+="edge:Raised;center:Yes;help:No;"
    sFeatures+="resizable:Yes;status:Yes;";
    }
    function ShowSelectWindow()
    {
    var oParams
    if(arguments.length<2){return}
    oParams=new Array(arguments.length-1);
    for(i=0;i<oParams.length;i++)
    {
    oParams[i]=arguments[i];
    }
    URL=arguments[arguments.length-1];
    ConstructDialog();
    window.showModalDialog(URL,oParams,sFeatures);
    }
    function AddMoreRow()
    {
    oButton=event.srcElement;
    oOldRow=oButton.parentNode.parentNode.previousSibling;
    oTable=oOldRow.parentNode.parentNode;
    oNewRow=oTable.insertRow(oTable.rows.length-1);
    for(i=0;i<oOldRow.cells.length;i++)
    {
    oCell=oNewRow.insertCell();
    oCell.innerHTML=oOldRow.cells[i].innerHTML;
    oCell.align=oOldRow.cells[i].align;
    oCell.vAlign=oOldRow.cells[i].vAlign;
    oCell.colSpan=oOldRow.cells[i].colSpan;
    oCell.title=oOldRow.cells[i].title;
    oCell.noWrap=oOldRow.cells[i].noWrap;
    for(j=0;j<oCell.childNodes.length;j++)
    {
    if(oCell.childNodes(j).tagName=="SPAN")
    {
    oCell.childNodes(j).innerText="";
    }
    if(oCell.childNodes(j).tagName=="SELECT")
    {
    oCell.childNodes(j).selectedIndex=0;
    oCell.childNodes(j).disabled=false;
    }
    if(oCell.childNodes[j].type=="text")
    {
    oCell.childNodes[j].value="";
    oCell.childNodes[j].readOnly=false;
    oCell.childNodes[j].disabled=false;
    }
    if(oCell.childNodes[j].type=="hidden")
    {
    oCell.childNodes[j].value=""
    oCell.childNodes[j].disabled=false;
    }
    if(oCell.childNodes[j].type=="button")
    {
    oCell.childNodes[j].disabled=false;
    }
    if(oCell.childNodes[j].nodeType==1&&oCell.childNodes[j].readyState==4)
    {
    if(oCell.childNodes[j].tagName=="OBJECT"
    &&oCell.childNodes[j].classid=="CLSID:35020238-5912-11D1-9A00-00C04FD8DC2E")
    {
    oCell.childNodes[j].object.Font=oOldRow.cells[i].childNodes[j].object.Font;
    }
    }
    }
    }
    }
    function SelectCompany()
    {
    oParam1=event.srcElement.parentNode.parentNode.all("Company_Record_No");
    oParam2=event.srcElement.parentNode.parentNode.all("Company_Name");
    oParam3=event.srcElement.parentNode.parentNode.all("Company_Code");
    sParam=oParam2.value;
    ShowSelectWindow(oParam1,oParam2,oParam3,"../Includes/Search_Company_Ex.ASP?ObjValue=" + sParam);
    //if(oParam1.value!=""){event.srcElement.disabled=true;oParam2.readOnly=true}
    }
    //-->
    </script>
    <table>
    <tr><td colspan="2" class="blue_bg"><b>Group Parties</b></td></tr>
    <tr> 
    <td colspan="2">
    <table width="100%" border="0" cellspacing="2" cellpadding="1" id="oCompany">
    <tr class="blue_bg2"><td width="60%">Company Name</td><td width="20%">Company Code</td></tr>
    <tr> 
    <td nowrap>
    <INPUT class="input" name="Company_Name" size="63" maxlength=255>
    <input type="button" value="Select" class="btn" onclick="SelectCompany()" style="cursor:hand">
    <input type="hidden" name="Company_Record_No" value="">
    </td>
    <td><SPAN id="Company_Code"></SPAN></td>
    </tr>
    <tr> 
    <td align="right" colspan=2> 
    <INPUT class="btn" type="button" value="Add More" onclick="AddMoreRow()" style="cursor:hand">
    </td>
    </tr>
    </table>
    </td>
    </tr></table>
    Search_Company_Ex.ASP
    <!--#include file="../includes/Check_OOCL_User_Right.asp"-->
    <%
    ObjValue=dfStrCheckSingle(Request("ObjValue"))
    SQL=""
    HTMLTitle="Search Company Name"
    SQL=" SELECT Company_Record_No,Company_Code,Company_Name FROM company_particular"
    SQL=SQL & " WHERE Company_Status=1"
    if ObjValue<>"" then
    SQL=SQL & " AND Company_Name LIKE N'%" & ObjValue & "%'"
    end if
    SQL=SQL & " ORDER BY Company_Name,Company_Code"
    DSN=LSDDSNName
    if Request.QueryString("Type")="NG" then
    SQL=" SELECT Non_GP_CO_Record_No,Non_GP_CO_Code,Non_GP_CO_Name"
    SQL=SQL & " FROM Non_Group_Company WHERE Show_To_User=1"
    if ObjValue<>"" then
    SQL=SQL & " AND Non_GP_CO_Name LIKE N'%" & ObjValue & "%'"
    end if
    SQL=SQL & " ORDER BY Non_GP_CO_Name,Non_GP_CO_Code"
    DSN=MasterDSNName
    HTMLTitle="Search Non-Group Company Name"
    end if
    CompanyArr=dfGetRecordSetArr(SQL,DSN)
    if not IsArray(CompanyArr) then
    call dfClientAlert(InfoMsg(2),"",true)
    Response.End 
    end if
    Response.write GenHtmlHeader(HTMLTitle,"")
    %>
    <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="0" cellspacing="0">
    <tr align="left"> 
    <td> 
    <table width="100%" border="0" cellspacing="10">
    <tr align="left"> 
    <td>
    <!--#include file="../../includes/topic_start.asp"-->
    <%=HTMLTitle%>
    <!--#include file="../../includes/topic_end.asp"-->
    </td>
    </tr>
    <tr align="center" > 
    <td > 
    <table width="100%" border="0" cellspacing="2" cellpadding="1">
    <tr class="blue_bg" height="20">
    <td><b>Select</b></td>
    <td nowrap><b>Company Code</b></td>
    <td nowrap><b>Company Name</b></td>
    </tr>
    <%
    For I=Lbound(CompanyArr,2) to Ubound(CompanyArr,2)
    CurrentClass=dfGetTableCellCss(I)
    Company_Record_NO=CompanyArr(0,I)
    Company_Code=CompanyArr(1,I)
    Company_Name=CompanyArr(2,I)
    %>
    <tr class="<%=CurrentClass%>" height="20"> 
    <td><input type=radio name=company  onclick="SelectCompanyAndClose('<%=Company_Record_NO%>','<%=ASP2JS(Company_Name)%>','<%=ASP2JS(Company_Code)%>')"></td>
    <td><font style="cursor:hand" color="0000aa"><%=dfTextToHTML(Company_Code)%></font></td>
    <td><%=dfTextToHTML(Company_Name)%></td>
    </tr>
    <%
    Next
    %>
    </table>
     </td>
    </tr>
    </table>
    </td>
      </tr>
    </table>
    <br>
    <div align="center">
    <input type="button" name="Close" class="btn" value="Submit" style="cursor:hand" onClick="javascript:GoSubmit()">
    </div>
    <!--script language="javascript" src="../../Functions/Functions.js"></script-->
    <!--script language=vbscript src="../../functions/functions.vbs"></script-->
    <script language=javascript>
    var Company_Record_No,Company_Name,Company_Code
    Company_Record_No=""
    Company_Name=""
    Company_Code=""
    function SelectCompanyAndClose(CompanyRecordNo,CompanyName,CompanyCode)
    {
    Company_Record_No=CompanyRecordNo;
    Company_Name=CompanyName;
    Company_Code=CompanyCode;
    }
    function GoSubmit()
    {
    dialogArguments[0].value=Company_Record_No;
    dialogArguments[1].value=Company_Name;
    if(dialogArguments.length>2)
    {
    dialogArguments[2].innerText=Company_Code;
    }
    window.close()
    }
    //-->
    </script>//Add by angle liu on 2003-2-27 end
      

  12.   

    你就用一个returnvalue就行了。