页面父子窗口的通信
当父窗口执行此方法:function showWin(){
var retValue=new Array();
var url="/jsp/employee/employeeInfoList.jsp";
retValue=window.showModalDialog(url,'','dialogHeight:400px;dialogWidth:600px');
document.aform.employeeName.value=retValue;
document.aform.employeeId.value=retValue;
document.aform.team.value=retValue;
document.aform.telephone.value=retValue;
document.aform.costCenter.value=retValue;
}
后,将弹出路径为/jsp/employee/employeeInfoList.jsp的子窗口;
字窗口的程序:
function evalSave() {
var checks = getCheckedOnly(document.aform.chkIndex);
var until = checks.length;
for (var idx=0; idx < until; idx++) {
selectRow(checks);
}
}
function getCheckedOnly(inputs) {
var result = new Array();
if (inputs && inputs.tagName == "INPUT" && inputs.checked) result = inputs;
else if (inputs && inputs.length && inputs.length > 0 ) {
var until = inputs.length;
for (var idx=0; idx<until; idx++) {
if (inputs.tagName == "INPUT" && inputs.checked) result = inputs;
}
}
return result;
}
function selectRow(radio){
var oTR = findParentTag(radio, "TR");
var name = findTagByName(oTR, "input", "name").value;
var nameCn = findTagByName(oTR,"input","nameCn").value;
var employeeId = findTagByName(oTR, "input", "employeeId").value;
var teamName = findTagByName(oTR, "input", "teamName").value;
var email = findTagByName(oTR, "input", "email").value;
var officeTel = findTagByName(oTR, "input", "officeTel").value;
var tel = findTagByName(oTR, "input", "tel").value;
var departmentName = findTagByName(oTR, "input", "departmentName").value;
var gradeEn = findTagByName(oTR, "input", "gradeEn").value;
var grade = findTagByName(oTR, "input", "grade").value;
var costCenter=findTagByName(oTR, "input", "costCenter").value;
var myArray=new Array();
myArray=name;
myArray=employeeId;
myArray=teamName;
myArray=email;
myArray=officeTel;
myArray=tel;
myArray=departmentName;
myArray=gradeEn;
myArray=grade;
myArray=nameCn;
myArray=costCenter;
returnValue = myArray;
window.close();
}
function findParentTag(oTag, tagName) {
while (oTag && oTag.tagName != "BODY") {
if (oTag.tagName == tagName) return oTag;
oTag = oTag.parentNode;
}
return null;
}
function findTagByName(oTag, tagName, name) {
var tags = oTag.getElementsByTagName(tagName);
for (var idx=0; idx<tags.length; idx++) {
if (tags.name == name) return tags;
}
return null;
}
这样就把字窗口中选中的一条记录返回到父窗口中,并放到相应的input中。
页:
[1]