现在的位置: 首页 > 综合 > 正文

showModalDialog 访问父窗口,向父窗口返回值及undefined类型判断,js触发服务器控件事件

2013年03月22日 ⁄ 综合 ⁄ 共 2407字 ⁄ 字号 评论关闭

访问父窗口:

        var parent=window.dialogArguments;
        //  父页面路径
        //frmAction.ActionReturnURL.value = parent.location;
        //  父页面表名--导出页面所需的参数
        var TableName=parent.document.getElementsByName("TableName")[0].value;
        //  父页面记录条数
        var dcjet_RowCount=parent.document.getElementsByName("dcjet_RowCount")[0].value;
        //  父页面查询条件
        var dcjet_CommonWhere=parent.document.getElementsByName("dcjet_CommonWhere")[0].value;
        //  导出字段
        var FIELD_ID = getSelectList(document.all[strIDFieldName]);
        //  排序
        var OrderBy=parent.document.getElementsByName("OrderBy")[0].value;
        //  查询
        var Filter=parent.document.getElementsByName("Filter")[0].value;
        //  版本
        var Version=parent.document.getElementsByName("Version")[0].value;
        //  文件名
        var FileName=parent.document.getElementsByName("FileName")[0].value;
        //  页面ID
        var ReportID=parent.document.getElementsByName("ReportID")[0].value;
        //  模块名
        var ModelName=parent.document.getElementsByName("ModelName")[0].value;
        //  StartRows
        var StartRows=parent.document.getElementsByName("StartRows")[0].value;
        //  ActionReturnURL
        var ActionReturnURLa=parent.location.toString();//parent.document.getElementsByName("ActionReturnURL")[0].value;
        ActionReturnURL=ActionReturnURLa.replace(/&/g, "%26");
//        ActionReturnURLa="http://localhost/TCms/Admin/BillManage/BillVindicate/Index.aspx?ReportID=8501&IE_FLAG=I&G_MARK=3"
//        ActionReturnURL=ActionReturnURLa.replace(/&/g, "%26");//正则表达式将&包含在路径中传递
//	改变父窗口路径
window.dialogArguments.location = "<%=Request.ApplicationPath %>/IEData/ExportDB_Common.aspx?isTemplate=1&TableName="+TableName+"&dcjet_RowCount="+dcjet_RowCount+"&dcjet_CommonWhere="+dcjet_CommonWhere +"&FIELD_ID="+FIELD_ID+"&OrderBy="+OrderBy+"&Filter="+Filter+"&Version="+Version+"&FileName="+FileName+"&ReportID="+ReportID+"&ModelName="+ModelName+"&StartRows="+StartRows+"&ActionReturnURL="+ActionReturnURL;

undefined类型判断:需要用typeof

if (typeof (returnResult) != "undefined") {
    window.document.getElementById("txtExportReportID").value = returnResult;
    window.document.getElementById("btnTxtHidden").click();
}

向父窗口返回值:
——子窗口:返回FIELD_ID值,之后子窗口关闭

window.returnValue=FIELD_ID;
            window.close();

——父窗口:用returnResult去接受返回值

var returnResult = showModalDialog(url, window,"help:No;resizable:No;status:No;scroll:yes");

js触发服务器控件事件及赋值:
window.document.getElementByID("服务器控件ID").value=值
注:为value赋值时,当心控件本就没有value属性,那会没用的

window.document.getElementById("txtExportReportID").value = returnResult;
window.document.getElementById("btnTxtHidden").click();

IE6中的showModelDialog中,<base target="_self" />不能直接在<head>下面,否则会报"xxxxx不能打开Interner站点,xxxxxxx"

【上篇】
【下篇】

抱歉!评论已关闭.