|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>动态表格</TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""><script type="text/javascript">function addOneRow(){ //判断是否传入足够参数 if(arguments.length <= 1 ){ return "error"; } try{ //获取table句柄 var tb=document.getElementById(arguments[0]); //添加一行 var newTr = tb.insertRow(); for(var i=1 ;i < arguments.length;i++){ //添加一列 var newTd = newTr.insertCell(); newTd.innerHTML = arguments[i]; } }catch (e) { return e.toString(); } return "true";}function deleteOneRow(){ //判断是否传入足够参数 if(arguments.length == 0){ return "error"; } var thisTag = arguments[0]; try{ //获取句柄 var obj = getThisObj(thisTag); //寻找最靠近的table while (obj.nodeName.toUpperCase() != 'TABLE'){ obj =obj.parentElement; } //删除一行 var newTr = obj.deleteRow(getTrRowOfTable(thisTag)); }catch (e) { return e.toString(); } return "true";}function getTableMaxRow(){ //判断是否传入足够参数 if(arguments.length == 0 ){ return "error"; } try{ //获取句柄 var obj = getThisObj(arguments[0]); //寻找最靠近的table while (obj.nodeName.toUpperCase() != 'TABLE'){ obj =obj.parentElement; } return obj.rows.length; }catch (e) { return e.toString(); }}function getTrRowOfTable(){ //判断是否传入足够参数 if(arguments.length == 0 ){ return "error"; } try{ //获取传入标签的句柄 var obj = getThisObj(arguments[0]); //寻找最靠近的TR while (obj.nodeName.toUpperCase() != 'TR'){ obj =obj.parentElement; } //返回TR的行号 return obj.rowIndex; }catch (e) { //返回异常信息 return e.toString(); }}//获取指定标签的句柄function getThisObj(){ var obj; //若定义了id if(arguments[0].id != ""){ obj=document.getElementById(arguments[0].id); return obj; } //若定义了name if(arguments[0].name != ""){ //通过name取句柄得到的是个数组,所以必须保证该name页面唯一 obj=document.getElementsByName(arguments[0].name)[0]; return obj; }}function showInfo(){ //显示本行号 alert("当前行号为:"+ getTrRowOfTable(arguments[0])); //显示总行数 alert("总行数为:"+ getTableMaxRow(arguments[0]));}var rowId=1;function addRow(){ var tagStr="<input type=text value=ccc name="+rowId+" onclick='addRow();showInfo(this)' onchange='deleteOneRow(this);'>"; addOneRow("tb",tagStr); rowId++;}</script></HEAD><BODY > <table id="tb"></table></BODY></HTML> |
|