非常感谢这里的高手帮助,合计框里在增加或者删除能实时在合计里计算总计里的数值,谢谢!
<table name="table1" width="194" id="tlist">
<thead>
<tr bgcolor="#C4DDF6">
<td height="22" align="center" width="49%">总计</td>
<td width='51%' align="center">操作</td>
</tr>
</thead>
<tbody id="tbody"> </tbody>
</table>
<p>
<input type="button" class="form1" value="增加" onClick="addRow()">
</p>
<table id ="table2" width="135" >
<tr>
<td colspan="8"> 合计:
<input type="text" id="znum" name="text" size="10"/>
</td>
</tr>
</table> <script type="text/javascript">
var Num=0;
var Input1="<input type='text' name='ftotal' width='20%' onkeyup='sum(this);'/>";
var op=" <input type='button' value='删除' name='del' onclick='delrecord(this);'>";
function addRow()
{
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var reg=/name='(ftotal)'/gi
var td=tr.insertCell();
td.innerHTML=Input1.replace(reg,"name='$1"+Num+"'" );
td=tr.insertCell();
td.innerHTML=op;
Num++;
}
function sum(e)
{
var newzum=0;
var obj=e.parentNode.parentNode;
var id=parseInt(obj.rowIndex)-1;
var ftotal=document.getElementsByName("ftotal")[id];
var delbutton=document.getElementsByName("del");
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
} var znum= document.getElementById("znum");
znum.value=newzum;
}
function delrecord(obj)
{
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
var delbutton=document.getElementsByName("del");
var newzum=0;
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
}
znum.value=newzum; }
</script>
<table name="table1" width="194" id="tlist">
<thead>
<tr bgcolor="#C4DDF6">
<td height="22" align="center" width="49%">总计</td>
<td width='51%' align="center">操作</td>
</tr>
</thead>
<tbody id="tbody"> </tbody>
</table>
<p>
<input type="button" class="form1" value="增加" onClick="addRow()">
</p>
<table id ="table2" width="135" >
<tr>
<td colspan="8"> 合计:
<input type="text" id="znum" name="text" size="10"/>
</td>
</tr>
</table> <script type="text/javascript">
var Num=0;
var Input1="<input type='text' name='ftotal' width='20%' onkeyup='sum(this);'/>";
var op=" <input type='button' value='删除' name='del' onclick='delrecord(this);'>";
function addRow()
{
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var reg=/name='(ftotal)'/gi
var td=tr.insertCell();
td.innerHTML=Input1.replace(reg,"name='$1"+Num+"'" );
td=tr.insertCell();
td.innerHTML=op;
Num++;
}
function sum(e)
{
var newzum=0;
var obj=e.parentNode.parentNode;
var id=parseInt(obj.rowIndex)-1;
var ftotal=document.getElementsByName("ftotal")[id];
var delbutton=document.getElementsByName("del");
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
} var znum= document.getElementById("znum");
znum.value=newzum;
}
function delrecord(obj)
{
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
var delbutton=document.getElementsByName("del");
var newzum=0;
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
}
znum.value=newzum; }
</script>
<table name="table1" width="194" id="tlist">
<thead>
<tr bgcolor="#C4DDF6">
<td height="22" align="center" width="49%">总计</td>
<td width='51%' align="center">操作</td>
</tr>
</thead>
<tbody id="tbody"> </tbody>
</table>
<p>
<input type="button" class="form1" value="增加" onClick="addRow()">
</p>
<table id ="table2" width="135" >
<tr>
<td colspan="8"> 合计:
<input type="text" id="znum" name="text" size="10"/>
</td>
</tr>
</table>
<script type="text/javascript">
var Num=0;
var Input1="<input type='text' class='the-fuvk' name='ftotal' width='20%' onkeyup='sum(this);'/>";
var op=" <input type='button' value='删除' name='del' onclick='delrecord(this);'>";
function addRow()
{
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var reg=/name='(ftotal)'/gi
var td=tr.insertCell();
td.innerHTML=Input1.replace(reg,"name='$1"+Num+"'" );
td=tr.insertCell();
td.innerHTML=op;
Num++;
}
function sum(e)
{
var newzum=0;
var obj=e.parentNode.parentNode;
var id=parseInt(obj.rowIndex)-1;
var ftotal=document.getElementsByName("ftotal")[id];
var delbutton=document.getElementsByName("del");
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
}
var znum= document.getElementById("znum");
znum.value=newzum;
}
function delrecord(obj)
{
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
var delbutton=document.getElementsByName("del");
var newzum=0;
for(var j=0;j <delbutton.length;j++)
{
newzum+=parseFloat(document.getElementsByName("ftotal")[j].value);
}
znum.value=newzum;
}
setInterval(() => {
let arr = [...document.querySelectorAll(".the-fuvk")]
if(arr.length){
let numArr = arr.filter(item => item.value != "").map(item => parseInt(item.value,10))
if(numArr.length) znum.value = numArr.reduce((a,b) => a + b,0)
}
},100)
</script>
<head>
<meta charset=utf-8>
</head>
<body>
<table name="table1" width="194" id="tlist">
<thead>
<tr bgcolor="#C4DDF6">
<td height="22" align="center" width="49%">总计</td>
<td width='51%' align="center">操作</td>
</tr>
</thead>
<tbody id="tbody"> </tbody>
</table>
<p>
<input type="button" class="form1" value="增加" onClick="addRow()">
</p>
<table id ="table2" width="135" >
<tr>
<td colspan="8"> 合计:
<input type="text" id="znum" name="text" size="10"/>
</td>
</tr>
</table>
<script>
$=function(b){return document.getElementById(b)};
var Input1="<input type='text' name='score' width='20%' onkeyup='sum();'/>";
var op=" <input type='button' value='删除' name='del' onclick='delrecord(this);'>";
function addRow(){
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var td=tr.insertCell();
td.innerHTML=Input1;
td=tr.insertCell();
td.innerHTML=op;
}
function sum() {
var sum1 = 0;
var obj = $('tbody');
var length = obj.rows.length ;
var things=[].slice.call(document.querySelectorAll("input[name='score']"));
things.forEach(function(elm){
var score=elm.value*1;
if (score.value!=''){
sum1+=parseFloat(score);
}
});
$("znum").value = sum1;
}
function delrecord(obj){
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
sum();
}
</script>
</body>
</html>
<%
dim num:num=request.Form("num")&""
if num<>"" and isnumeric(num) then
num=cint(num)
dim i
dim ftotal
for i=0 to num
.....
next
%>
<form name="form1" action="" method="post" onsubmit="return check(this)">
<input type="hidden" name="num" />///动态表格的计算代码内容<input type="button" class="form1" value="添加" onClick="addRow()" name="button">
<input type="submit" value="提交" onClick="return check1();" name="submit" />
<script>
function check(f)
{
for(var i=0;i<Num;i++)
{ var ftotal=f["ftotal"+i];
if(ftotal.value==""||isNaN(ftotal.value)||parseFloat(ftotal.value)<=0)
{
alert("金额错误");
ftotal.select();
return false;
}
}
f.num.value=Num;
}</script>
<script type="text/javascript">
$=function(id){return document.getElementById(id)};
var Num=0; var Input1="<input type='text' name='score' id='score' width='100%' onkeyup='sum();'/>";
var op=" <input type='button' value='删除' name='del' onclick='delrecord(this);'>";
function addRow()
{
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var reg=/name='(score)'/gi
var td=tr.insertCell();
td.innerHTML=Input1.replace(reg,"name='$1"+Num+"'") ;
td=tr.insertCell();
td.innerHTML=op;
/*
var tbody=document.getElementById("tbody");
var tr=tbody.insertRow();
var td=tr.insertCell();
td.innerHTML=Input1
td=tr.insertCell();
td.innerHTML=Input2
td=tr.insertCell();
td.innerHTML=Input3;
td=tr.insertCell();
td.innerHTML=op;
*/
Num++;
} function check(f)
{
for(var i=0;i<Num;i++)
{
var score=f["score"+i];
if(score.value==""||isNaN(score.value)||parseFloat(score.value)<=0)
{
alert("不能为空!");
score.select();
return false;
}
}
f.num.value=Num;
}function sum() {
var sum1 = 0;
//var obj = $('tbody');
// var length = obj.rows.length ;
var things=[].slice.call(document.querySelectorAll("input[id='score']"));
//alert(things);
things.forEach(function(elm){
var score=elm.value*1;
if (score.value!=''){
sum1+=parseFloat(score);
}
});
// $("znum").value = sum1.toFixed(2);
$("znum").value = Math.round(sum1* 100) / 100;
}
function delrecord(obj){
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
sum();
} </script>