您的位置:首页 > Web前端 > JavaScript

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

2012-11-21 16:01 666 查看
访问父窗口:

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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: