*************************************************************************************************************************************************************************************
网页动态表格中数字的计算
**************************************************************************************************************************************************************************************
以下是相关代码,把下面文件放在同一目录下运行即可:
//文件 countNum.html 代码如下
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title>无标题文档</title>
- </head>
- <SCRIPT LANGUAGE="javascript" SRC="addDelTable.js"></SCRIPT>
- <SCRIPT>
- allCount=1;
- countA=1;
- countB=1;
- countC=1;
- countD=1;
- </SCRIPT>
- <body>
- <form method=post name=ecform>
- <table width="65%" border="0" align="center" cellpadding="0" cellspacing="1" class="form_table">
- <TR>
- <TH width="17%"> 成绩表</TH>
- <TH width="26%" class="form_label">姓名</TH>
- <TH width="26%" class="form_label">数学</TH>
- <TH width="26%">英语</TH>
- <TH width="5%"></TH>
- </TR>
- <tr>
- <td colspan="5"><table border="0" cellpadding="0" cellspacing="0" width="100%" align="center" class="form_table" id="commandTable">
- <tr id=cT>
- <TD class="form_label" width="17%"><strong> </strong></TD>
- <TD class=form_content width="26%"><input type="text" id="cMa" class="longfield" name="loginName" /> </TD>
- <TD class=form_content width="26%"><input type="text" id="cMb" class="longfield" name="loginName"/> </TD>
- <TD class=form_content width="26%"><input type="text"id="cMc" class="longfield" name="loginName"/></TD>
- <td class="form_label" width="5%"><input type="button" value="+" alt="add" onClick="newHospitalVisit('commandTable')"></td>
- </tr>
- </table></td>
- </tr>
- <tr>
- <TD class=form_content colspan="2"><input type="button" value=" 合 计 " onClick="count('commandTable')"/></TD>
- <TD class=form_content><input type="text" id=tMb class="longfield" name="loginName" /> </TD>
- <TD class=form_content><input type="text" id=tMc class="longfield" name="loginName" /></TD>
- <td class="form_label"></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
//文件 addDelTable.js 代码如下
- var modified=0
- var currentLine=-1
- var line=-1
- function delIt(tableID) {
- var PLList=document.getElementById(tableID);
- line=parseInt(event.srcElement.ln,10)
- if (line>0){
- for (i=1;i<PLList.rows.length;i++){
- if (cT[i].ln==line){
- PLList.deleteRow(i)
- }
- }
- }
- }
- function newHospitalVisit(tableID)
- {
- var PLList=document.getElementById(tableID);
- newRow=PLList.insertRow(PLList.rows.length);
- var medicationA="";
- var medicationB="";
- var medicationC="";
- newRow.id="cT";
- medicationA="cMa";
- medicationB="cMb";
- medicationC="cMc";
- allCount=countA;
- countA++;
- //alert(newRow.id);
- //newRow.id="tdt";
- newRow.ln=allCount;
- newRow.bgColor="";
- newRow.className="form_content";
- //newRow.οnclick=lightOn;
- c1=newRow.insertCell(0);
- c1.ln=allCount;
- c1.className="form_label";
- //c1.οnclick=delIt();
- //c1.οnmοuseοver=mouseOver;
- //c1.οnmοuseοut=mouseOut;
- c1.innerHTML="";
- c2=newRow.insertCell(1);
- c2.ln=allCount;
- c2.className="form_content";
- c2.innerHTML="<input type=text class=longfield id="+medicationA+" ln="+allCount+" class=tableData οnkeyup='modifiedIt()'>" ;
- c3=newRow.insertCell(2);
- c3.ln=allCount;
- c3.className="form_content";
- c3.innerHTML="<input type=text class=longfield id="+medicationB+" ln="+allCount+" class=tableData οnkeyup='modifiedIt()'>" ;
- c4=newRow.insertCell(3);
- c4.ln=allCount;
- c4.className="form_content";
- c4.innerHTML="<input type=text class=longfield id="+medicationC+" ln="+allCount+" class=tableData οnkeyup='modifiedIt()'>"
- c5=newRow.insertCell(4);
- c5.ln=allCount;
- c5.className="form_label";
- c5.id="delItem";
- c5.innerHTML="<input type=button value=- alt=add width=18 height=10 ln="+allCount+" onClick=delIt('"+tableID+"')>" ;
- allCount++
- }
- function mouseOver()
- {
- event.srcElement.className="delMouseOver"
- }
- function mouseOut()
- {
- event.srcElement.className="scheduleButtonVisible"
- }
- function count(tableID)
- {
- var PLList=document.getElementById(tableID);
- var sb=0.0;
- var sc=0.0;
- var strb="";
- var strc="";
- for (i=0;i<PLList.rows.length;i++){
- if(PLList.rows.length==1){
- strb=document.ecform.cMb.value;
- strc=document.ecform.cMc.value;
- }else{
- strb=document.ecform.cMb[i].value;
- strc=document.ecform.cMc[i].value;
- }
- if(strb=='')strb='0';
- if(strc=='')strc='0';
- if((/d+/).test(strb)){
- confirm("成绩必须为数字");
- return;
- }else{
- sb=sb+parseFloat(strb);
- sc=sc+parseFloat(strc);
- }
- }
- document.ecform.tMb.value=sb;
- document.ecform.tMc.value=sc;
- }
如发现有问题请与本人联系:
MSN:hiyu2218@hotmail.com
QQ:147204701
Email:hiyu2218@yahoo.com.cn