描述: 点击父页面 按钮 弹出子页面 ,子页面选择数据后,点击关闭,父页面收到子页面的数据 显示出来。
做法:模态窗体。1.父窗体执行此方法 弹出子窗口
function fnCallItemDialog() {
var FieldFilter = document.getElementById("<%= txtItem.ClientID %>").value;
var Url = "../Retail.Control/ReConfigManage/TreeDetailPage.aspx?refConfigCode=item01&OperateType=0&FieldFilter=" + FieldFilter + "&WhereField=&PageNumbers=20&MoreChoose=true";
var features = 'help:no;status:no;scroll:no;dialogTop:(srceen.availheigh/2)-250;dialogLeft:(screen.availwidth/2)-315;dialogHeight:600px;dialogWidth:800px;' varRefType = "1"; //商品参照
showModalDialog(encodeURI(Url), window, features);
}
2.子窗体 页面选择一些数据 然后执行
function fnGetInfo() {
var sData = dialogArguments; sData.ProductMessageXml = ForeachGridViewCheckXmlByPackage(<%=GridView1.ClientID %>);//此处为选择的数据 sData.fnProductUpdate();//此处执行父页面的方法
}
3.子窗体执行fnGetInfo方法后关闭,父窗体中的fnProductUpdate方法执行function fnProductUpdate() { //产品
if (varRefType == "1") {
var table = document.getElementById("<%= gridItem.ClientID %>");
//varXml = deleteExist(table, 0, "LNGITEMID", varXml, "LNGITEMID");
varXml = deleteExist(table, 4, "", varXml, "LNGITEMID"); var varlen = varXml.selectNodes("//table//tr").length;
for (var i = 0; i < varlen; i++) {
var oRow = table.insertRow();
var oCell = oRow.insertCell();
oCell.innerHTML = "<input id='chkItem' type='checkbox' />";
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMCODE", i, varXml);
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMNAME", i, varXml);
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMSTYLE", i, varXml);
oCell = oRow.insertCell();
oCell.className = "hidden";
oCell.innerHTML = FindTextByKey("LNGITEMID", i, varXml);
//oRow.setAttribute("LNGITEMID", FindTextByKey("LNGITEMID", i, varXml));
} return;
}//取得数据进行其他操作。
}问题:请问这种问题还有没有更方便的解决方法不用模态窗口,支持火狐IE就行。
做法:模态窗体。1.父窗体执行此方法 弹出子窗口
function fnCallItemDialog() {
var FieldFilter = document.getElementById("<%= txtItem.ClientID %>").value;
var Url = "../Retail.Control/ReConfigManage/TreeDetailPage.aspx?refConfigCode=item01&OperateType=0&FieldFilter=" + FieldFilter + "&WhereField=&PageNumbers=20&MoreChoose=true";
var features = 'help:no;status:no;scroll:no;dialogTop:(srceen.availheigh/2)-250;dialogLeft:(screen.availwidth/2)-315;dialogHeight:600px;dialogWidth:800px;' varRefType = "1"; //商品参照
showModalDialog(encodeURI(Url), window, features);
}
2.子窗体 页面选择一些数据 然后执行
function fnGetInfo() {
var sData = dialogArguments; sData.ProductMessageXml = ForeachGridViewCheckXmlByPackage(<%=GridView1.ClientID %>);//此处为选择的数据 sData.fnProductUpdate();//此处执行父页面的方法
}
3.子窗体执行fnGetInfo方法后关闭,父窗体中的fnProductUpdate方法执行function fnProductUpdate() { //产品
if (varRefType == "1") {
var table = document.getElementById("<%= gridItem.ClientID %>");
//varXml = deleteExist(table, 0, "LNGITEMID", varXml, "LNGITEMID");
varXml = deleteExist(table, 4, "", varXml, "LNGITEMID"); var varlen = varXml.selectNodes("//table//tr").length;
for (var i = 0; i < varlen; i++) {
var oRow = table.insertRow();
var oCell = oRow.insertCell();
oCell.innerHTML = "<input id='chkItem' type='checkbox' />";
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMCODE", i, varXml);
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMNAME", i, varXml);
oCell = oRow.insertCell();
oCell.innerHTML = FindTextByKey("STRITEMSTYLE", i, varXml);
oCell = oRow.insertCell();
oCell.className = "hidden";
oCell.innerHTML = FindTextByKey("LNGITEMID", i, varXml);
//oRow.setAttribute("LNGITEMID", FindTextByKey("LNGITEMID", i, varXml));
} return;
}//取得数据进行其他操作。
}问题:请问这种问题还有没有更方便的解决方法不用模态窗口,支持火狐IE就行。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货