分享

重写表格--[js源码]你如果用的上,这就是好东西.

 昵称9155100 2012-03-28

重写表格--[js源码]你如果用的上,这就是好东西.

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<!--
/*
1.必须要有两个隐藏按钮:div_mode和lid;
2.添加、修改输入区必须和javascript脚本重写的表格处于同一个表单中。
*/
var tr_count=2;//表格中<tr>行数。
var lid;//表格处于添加、修改、删除时,当前操作的tr行数序号。
var table1="<table width=\"80%\" border=\"1\" bgcolor=\"#FFFFFF\" bordercolor=\"#999999\" cellpadding=\"2\" align=\"center\"><tr><td height=\"21\">Check</td><td height=\"21\">td1(name)</td><td height=\"21\">td2(age)</td><td height=\"21\">td3(price)</td><td height=\"21\">td4(in_dt)</td><td height=\"21\">td5(out_dt)</td><td height=\"21\">修改</td></tr>";
var td000= new Array();
var td1= new Array();
var td2= new Array();
var td3= new Array();
var td4= new Array();
var td5= new Array();
var td999= new Array();
var tr= new Array();
var data1= new Array();
var data2= new Array();
var data3= new Array();
var data4= new Array();
var data5= new Array();

//函数一【显示添加、修改表格】靠隐藏按钮保存div_mode状态。
function change_show(div_mode,lid)
{    var fmobj=document.form1;
    if(div_mode=="add"){//fmobj.ok.value="添加";
    fmobj.div_mode.value="add";
    fmobj.ltd1.value="";fmobj.ltd2.value="";
    fmobj.ltd3.value="";fmobj.ltd4.value="";
    fmobj.ltd5.value="";
    }
    if(div_mode=="xiugai"){//fmobj.ok.value="修改";
    fmobj.div_mode.value="xiugai";fmobj.lid.value=lid;
    fmobj.ltd1.value=eval("fmobj.name"+lid+".value");
    fmobj.ltd2.value=eval("fmobj.age"+lid+".value");
    fmobj.ltd3.value=eval("fmobj.price"+lid+".value");
    fmobj.ltd4.value=eval("fmobj.in_dt"+lid+".value");
    fmobj.ltd5.value=eval("fmobj.out_dt"+lid+".value");
    }
}
//函数二【各种状态的总处理】lid在函数内转换成数值型.
function change(div_mode,lid)
{    var fmobj=document.form1;
    if(div_mode=="add"){tr_count++;lid=tr_count;item_change(fmobj,parseInt(lid));}
    if(div_mode=="xiugai"){item_change(fmobj,parseInt(lid));}
    if(div_mode=="del"){tr_count--;item_del(fmobj,parseInt(lid));}
}

//函数三【处理添加、修改】
function item_change(fmobj,lid)
{for (i=1;i<=tr_count;i++)
    {if (i==lid)
        {data1[i]=fmobj.ltd1.value;
        data2[i]=fmobj.ltd2.value;
        data3[i]=fmobj.ltd3.value;
        data4[i]=fmobj.ltd4.value;
        data5[i]=fmobj.ltd5.value;
        }
    else
        {data1[i]=item_i("text",eval("fmobj.name"+i.toString(10)),'');
        data2[i]=item_i("text",eval("fmobj.age"+i.toString(10)),'');
        data3[i]=item_i("text",eval("fmobj.price"+i.toString(10)),'');
        data4[i]=item_i("text",eval("fmobj.in_dt"+i.toString(10)),'');
        data5[i]=item_i("text",eval("fmobj.out_dt"+i.toString(10)),'');
        }
    }
item_show(fmobj);
}
//函数四【处理删除】
function item_del(fmobj,lid)
{var j=1;
for (i=1;i<=(tr_count+1);i++)
    {if (i!=lid)
        {data1[j]=item_i("text",eval("fmobj.name"+i.toString(10)),'');
        data2[j]=item_i("text",eval("fmobj.age"+i.toString(10)),'');
        data3[j]=item_i("text",eval("fmobj.price"+i.toString(10)),'');
        data4[j]=item_i("text",eval("fmobj.in_dt"+i.toString(10)),'');
        data5[j]=item_i("text",eval("fmobj.out_dt"+i.toString(10)),'');
        //alert("ij:");alert(i);alert(j);alert(data1[j]);
        j++;
        }
    }
item_show(fmobj);
}

//函数五【表格数据的重置、显示】被函数三、四调用。
function item_show(fmobj)//[第一步,静态写表格;第二步,读取数组中的值,显示表格原数据]
{//var fmobj=document.form1;
var str_tr="";
for (i=1;i<=tr_count;i++)
    {    td000[i]="<td><input type=\"checkbox\" name=\"check"+i.toString(10)+"\" checked value=\"\"  onclick=\"change('del',"+i.toString(10)+")\"></td>";
        td1[i]="<td><input type=\"text\" name=\"name"+i.toString(10)+"\" size=\"10\" value=\"\"></td>";
        td2[i]="<td><select name=\"age"+i.toString(10)+"\"><option value=\"23\">23</option><option value=\"24\">24</option><option value=\"25\">25</option><option value=\"26\">26</option><option value=\"27\">27</option><option value=\"28\">28</option><option value=\"29\">29</option></select></td>";
        td3[i]="<td><input type=\"text\" name=\"price"+i.toString(10)+"\" size=\"10\" value=\"\"></td>";
        td4[i]="<td><input type=\"text\" name=\"in_dt"+i.toString(10)+"\" size=\"10\" value=\"\"></td>";
        td5[i]="<td><input type=\"text\" name=\"out_dt"+i.toString(10)+"\" size=\"10\" value=\"\"></td>";
        td999[i]="<td><input type=\"button\" name=\"xiugai"+i.toString(10)+"\" value=\"修改\" onclick=\"change_show('xiugai',"+i.toString(10)+")\"></td>";
    tr[i]="<tr>"+td000[i]+td1[i]+td2[i]+td3[i]+td4[i]+td5[i]+td999[i]+"</tr>";
    str_tr=str_tr+tr[i];
    }
div_table.innerHTML=table1+str_tr+"</table>";
for (i=1;i<=tr_count;i++)
    {//eval("fmobj.name"+i.toString(10)+".value=data1["+i.toString(10)+"]");
    item_o("text",eval("fmobj.name"+i.toString(10)),data1[i]);
    item_o("text",eval("fmobj.age"+i.toString(10)),data2[i]);
    item_o("text",eval("fmobj.price"+i.toString(10)),data3[i]);
    item_o("text",eval("fmobj.in_dt"+i.toString(10)),data4[i]);
    item_o("text",eval("fmobj.out_dt"+i.toString(10)),data5[i]);
    }
}

//函数六【表单项从数组中获取值】//是设置表单项(o的状态第四个参数无效)
function item_o(type,iobj,tm)
{    if (type=="text"||"hidden"){iobj.value=tm;}
    if (type=="select"){iobj.value=tm;}
    if (type=="button"){iobj.value=tm;}
    if (type=="radio"){
        if (iobj.checked=true){iobj.checked=false;}
        else{iobj.checked=true;}    }
    if (type=="checkbox"){
        if (iobj.checked=true){iobj.checked=false;}
        else{iobj.checked=true;}    }
}
//函数七【数组获取表单项值】//是用此函数去获取表单项值;
function item_i(type,iobj,tm)
{    if (type=="text"||"hidden"){tm=iobj.value;return (tm);}
    if (type=="select"){tm=iobj.value;return (tm);}
    if (type=="button"){tm=iobj.value;return (tm);}
    if (type=="radio"){
        if (iobj.checked=true){iobj.checked=false;}
        else{iobj.checked=true;}    }
    if (type=="checkbox"){
        if (iobj.checked=true){iobj.checked=false;}
        else{iobj.checked=true;}    }
}
//注:函数6、7没处理完,哪天有功夫再理它。
//这个作为一个模块,希望能对大家有用。——小乙[2001.5.21]
//-->
</script>
</head>
<body>
<form name="form1" method="post" action="">
<input type="hidden" name="div_mode" value="add"><!-- 标记页面模式 -->
<input type="hidden" name="lid" value="0"><!-- 标记修改状态时,当前被操作tr的序号 -->
<input type="hidden" name="tr_count" value="0"><!-- 本按钮基本无用【当前所有tr项总数】 -->

  <table width="80%" border="1" bgcolor="#FFFFFF" bordercolor="#FF9900" cellpadding="2" align="center">
    <tr>
      <td><input type="text" name="ltd1" size="10" value="姓名"></td>
      <td>
        <select name="ltd2">
            <option value="23" selected>23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
          <option value="27" selected>27</option>
        </select>
      </td>
      <td><input type="text" name="ltd3" size="10" value="资金¥343"></td>
      <td><input type="text" name="ltd4" size="10" value="2001-5-2"></td>
      <td><input type="text" name="ltd5" size="10" value="2001-5-7"></td>
      <td><input type="button" name="ok" value="完成" onclick="change(document.form1.div_mode.value,document.form1.lid.value)"> </td>
    </tr>
  </table>
  <hr size=1 color=green>
  <input type="button" name="Button" value=" 添 加 " onclick="change_show('add',0)">
<!---------------------------------------------------------------->
  <div name="div_table" id="div_table">
  <table width="80%" border="1" bgcolor="#FFFFFF" bordercolor="#999999" cellpadding="2" align="center">
    <tr>
      <td>Check</td>
      <td>td1(name)</td>
      <td>td2(age)</td>
      <td>td3(price)</td>
      <td>td4(in_dt)</td>
      <td>td5(out_dt)</td>
      <td>修改</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="check1" value="on" checked onclick="change('del',1)"></td>
      <td><input type="text" name="name1" size="10" value="chenyanxia"></td>
      <td>
          <select name="age1">
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27" selected>27</option>
            <option value="28">28</option>
            <option value="29">29</option>
          </select>
        </td>
      <td><input type="text" name="price1" size="10" value="55RMB"></td>
      <td><input type="text" name="in_dt1" size="10" value="2001-4-30"></td>
      <td><input type="text" name="out_dt1" size="10" value="2001-5-7"></td>
      <td><input type="button" name="xiugai1" value="修改" onclick="change_show('xiugai',1)"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="check2" value="on" checked onclick="change('del',2)"></td>
      <td><input type="text" name="name2" size="10" value="chenyx"></td>
        <td>
          <select name="age2">
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26" selected>26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
          </select>
        </td>
      <td><input type="text" name="price2" size="10" value="55RMB"></td>
      <td><input type="text" name="in_dt2" size="10" value="2001-4-30"></td>
      <td><input type="text" name="out_dt2" size="10" value="2001-11-12"></td>
      <td><input type="button" name="xiugai2" value="修改" onclick="change_show('xiugai',2)"></td>
    </tr>
  </table>
</div>
</form>
</body>
</html>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多