最近财务项目中想做个付款单相加的方法,比如发票付款栏目,每个付款栏累加最后得出总和
以下代码为数值累加函数
checkRate函数为判断是否为数字
function addjine(){
var t=0;
var name;
//for(j=1;j<=i;j++){
if(window.myform.jine[0]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[0].value)){
t+=parseFloat(window.myform.jine[0].value);}
else{
t+=0;}}
if(window.myform.jine[1]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[1].value)){
t+=parseFloat(window.myform.jine[1].value);}
else{
t+=0;}}
if(window.myform.jine[2]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[2].value)){
t+=parseFloat(window.myform.jine[2].value);}
else{
t+=0;}}
if(window.myform.jine[3]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[3].value)){
t+=parseFloat(window.myform.jine[3].value);}
else{
t+=0;}}
if(window.myform.jine[4]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[4].value)){
t+=parseFloat(window.myform.jine[4].value);}
else{
t+=0;}}
if(window.myform.jine[5]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[5].value)){
t+=parseFloat(window.myform.jine[5].value);}
else{
t+=0;}}
if(window.myform.jine[6]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[6].value)){
t+=parseFloat(window.myform.jine[6].value);}
else{
t+=0;}}
if(window.myform.jine[7]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[7].value)){
t+=parseFloat(window.myform.jine[7].value);}
else{
t+=0;}}
if(window.myform.jine[8]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[8].value)){
t+=parseFloat(window.myform.jine[8].value);}
else{
t+=0;}}
if(window.myform.jine[9]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[9].value)){
t+=parseFloat(window.myform.jine[9].value);}
else{
t+=0;}}
if(window.myform.jine[10]==null){
t+=0;}
else{
if(checkRate(window.myform.jine[10].value)){
t+=parseFloat(window.myform.jine[10].value);}
else{
t+=0;}}
document.myform.heji.value=t;
}
一共有10栏,本来想用for循环做,但是没能实现,所以只能分别把10个值单独相加,但是代码感觉很冗余,
请问那位可以帮忙精简一下代码,最好用循环做出来,谢谢了
------解决方案--------------------
- HTML code
]<HTML> <BODY> <FORM METHOD=POST ACTION="" name="myform"> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="button" name="test" value="add jin" onclick="addjine();"> </FORM> </BODY> </HTML> <SCRIPT LANGUAGE="JavaScript"> <!-- function addjine(){ var t=0; var name; for(i=0;i<5;i++) { if(document.myform.elements['jine'](i)==null){ t+=0; } else { if(document.myform.elements['jine'](i).value>0) { t+=parseFloat(document.myform.elements['jine'](i).value); } else { t+=0; } } } alert("totle="+t); } //--> </SCRIPT>
------解决方案--------------------
- HTML code
<BODY> <FORM METHOD=POST ACTION="" name="myform"> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="text" NAME="jine"><br> <INPUT TYPE="button" name="test" value="add jin" onclick="addjine();"> </FORM> </BODY> </HTML> <SCRIPT LANGUAGE="JavaScript"> <!-- function addjine(){ var t=0; var objs = document.getElementsByName("jine") for(i=0;i<objs.length;i++) { if(parseFloat(objs[i].value)>0) { t+=parseFloat(objs[i].value); } else { t+=0; } } alert("totle="+t); } //--> </SCRIPT>