访问父窗口:
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"