父窗体html文档: 学生管理 <br> <br> //添加学生信息 addStuInfo<br> function addStuInfo(){<br> <br> //调用模式窗体,在模式窗体中输入学生的信息,然后传递给父窗体。<br> var result = window.showModalDialog("addinfo.html", , "dialogwidth:800px;dialogheight:300px");//result接收的就是一个数组对象</p> <p> //alert(result: + result[0]); //输出返回值,result返回的不是一个字符串,而是一个数组<br> //////////////////////////下面用于判断模式add页面中所有框都为空时,不用在主窗体中执行加一行操作<br> var flag = 0;<br> for (i in result) {<br> if (result[i].match(/^s*$/)) {<br> flag++;<br> alert(flag + ":" + result[i]);<br> <br> }<br> }<br> if (flag == 4) return false;<br> //////////////////////////<br> <br> <br> //获取模式窗体的数据<br> if (result != null || result != undefined) {//<br> <br> <br> //alert( result:+result[0] );//输出返回值数组中的第一个值 <br> addRow( result,document.getElementById( "myTable" ) );//向addRow方法中传两个参数,一个为返回的结果,一个为要操作的table<br> }<br> }<br> <br> //在当前的表中添加一行数据<br> function addRow( result,myTable ){<br> <br> //alert( myTable );<br> //tbody<br> var tbody = document.createElement( "tbody" );//每次有一次条新的记录,就加入一个tbody标签到table中,tbody中可能加多个tr<br> <br> var tr = document.createElement( "tr" );//创建一个tr标签<br> <br> //添加4个td,<br> for( i = 0; i < result.length;i++ ){//根据结果创建相应数目的td<br/> <br/> td = document.createElement( td );<br/> <br/> td.innerHTML = result[i];//对td进行赋值<br/> <br/> //add<br/> tr.appendChild( td );//将td添加到tr的后面<br/> }<br/> <br/> //add<br/> tbody.appendChild( tr );//将tr添加到tbody的后面<br/> myTable.appendChild(tbody); //将建好的tbody添加到要显示的的表格中,<br/> //以上其实就在通过document对象创建html的过程<br/> //注册事件 ------------------//给每次创建的tr行建立事件触发器<br/> tr. = function(){//////////////////////////////////////////////////鼠标移上时<br/> <br/> tr.style.backgroundColor = "#abcdef";//背景颜色<br/> tr.title = "单击可进行修改!";//提示信息<br/> };<br/> <br/> tr. = function(){//////////////////////////////////////////////鼠标释放后<br/> <br/> tr.style.backgroundColor = "";<br/> };<br/> <br/> //注册单击事件<br/> tr.onclick = function(){/////////////////////////////////////////////////////////鼠标单击时<br/> <br/> //alert();<br/> <br/> //把当前选中的数据传递给模式窗体,在模式窗体中显示当前行数据, 单元格集合 cells<br/> <br/> //alert( tr.cells[0].innerHTML );<br/> <br/> var array = new Array(5);//建立临时的数组存放要传给模式对话框的数据<br/> <br/> for( i = 0; i < tr.cells.length; i++ ){<br/> <br/> array[i] = tr.cells[i].innerHTML;//选中行的单元格中的内容放入临时数组<br/> }<br/> <br/> //alert( array[2] );<br/> array[4] = tr;//把当前行对像传递给模式窗体,修改数据时直接通过模式窗体修改tr中的td<br/> <br/> //调用模式窗体,修改数据<br/> window.showModalDialog( "addinfo.html",array,"dialogwidth:800px;dialogheight:300px" );<br/> <br/> };<br/> <br/> }<br/> <br/> <br/> 学生信息管理 姓名 年龄 性别 学校 是否删除 添加子窗体html文档: 添加学生信息 <br> <br> <br> var obj = null;<br> <br> //传递当前表单的数据给父窗体<br> function addInfo(){<br> <br> if( !obj ){//obj为空时<br> <br> var array = new Array();<br> <br> array[0] = document.getElementById( "stuName" ).value;<br> array[1] = document.getElementById( "stuAge" ).value;<br> array[2] = document.getElementById( "stuSex" ).value;<br> array[3] = document.getElementById( "stuSchool" ).value;<br> <br> //返回给父窗体<br> window.returnValue = array;<br> <br> }else{//直接修改父窗体中的tr<br> <br> obj.cells[0].innerHTML = document.getElementById( "stuName" ).value; <br> obj.cells[1].innerHTML = document.getElementById( "stuAge" ).value; <br> obj.cells[2].innerHTML = document.getElementById( "stuSex" ).value; <br> obj.cells[3].innerHTML = document.getElementById( "stuSchool" ).value; <br> }<br> <br> //关闭当前模式窗体<br> window.close(); <br> }<br> <br> //获取父窗体传递的数据。<br> function showInfo(){<br> <br> //alert();<br> <br> //获取父窗体中的数据<br> var array = window.dialogArguments;<br> <br> alert( array.length );//打印父窗体传过来的数据的长度</p> <p> if (array.length > 0) {//如果父窗体传了数据过来,将调用修改<br> <br> <br> document.getElementById( "stuName" ).value = array[0];<br> document.getElementById( "stuAge" ).value = array[1];<br> document.getElementById( "stuSex" ).value = array[2];<br> document.getElementById( "stuSchool" ).value = array[3];<br> <br> obj = array[4];//父窗体中的tr对像<br> }<br> <br> }<br> 添加学生信息 姓名 年龄 性别 学校 操作