ダイナミックテーブルの実現
2810 ワード
<!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 onload="addRow();">
<table id="tb"></table>
</BODY>
</HTML>