毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> WEB开发 >> 正文

合计表格中的单价项input内加入value,填加单价后合计功能失效

更新时间:2013-2-25:  来源:毕业论文

合计表格中的单价项input内加入value,填加单价后合计功能失效
一、合计组中的单价输入项input内加入value="25"时合计与大写合计也能正常合计。
二、把合计组中的数量项的文本输入(input)改成下拉选择(select)来确定货物数量时合计与合计大写仍正常。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>销售单据金额计算—合计—转大写</title>
<style type="text/css">
<!--
  .DoubleColorTable tr{background-color:expression(rowIndex%2==0?'#FCF5DA':'#FFFFFF');
  font-size: 12px;
  }
-->
</style>
<link href="cc.css" rel="stylesheet" type="text/css">
<SCRIPT language=JavaScript>
function $(o){return document.getElementById(o)}
window.onload=function init(){
var input_obj=$("amount_price_total").getElementsByTagName("input"),j=input_obj.length;
for(var i=0;i<j;i++){
 if (input_obj[i].id.indexOf("price")!=-1)input_obj[i].onblur=function(){calculate(this.id);calculate_total();}
}
}
function calculate(id){//金额
 var numlen=id.substring(5,id.length)
 var v_amount=$("amount"+numlen).value
 var v_price=$(id).value
 if (v_amount>0&&v_price>0){
  $("total"+numlen).value=Math.ceil(v_amount*v_price*1000)/1000;//保留三位
  $("amount"+numlen).onblur=function(){calculate(id);calculate_total();}
 }
 else if (v_amount==""||v_price==""){
  $("amount"+numlen).value=""
  $(id).value=""
  $("total"+numlen).value=""
 }
 else {
  $("total"+numlen).value="非法输入"
 }
}
function calculate_total(){//合计
var temp_total=0+1-1;
var input_obj=$("amount_price_total").getElementsByTagName("input"),j=input_obj.length;
for(var i=0;i<j;i++){
 if (input_obj[i].id.indexOf("total")!=-1 && input_obj[i].value>0){
  var numlen=input_obj[i].id.substring(5,input_obj[i].id.length)
  var v_amount=$("amount"+numlen).value
  var v_price=$("price"+numlen).value
  temp_total+=v_amount*v_price
 }
}
temp_total=Math.ceil(temp_total*100)/100;//保留二位
$("tt").innerHTML="("+temp_total+"元) ¥"+bigwrite(temp_total)
}
function bigwrite(x){//转换大写
var caiying2007_bp=["元","拾","百","千","万","拾","百","千","亿","拾","百","千","万"];//最高位为"万亿",不够用时可依律增加
var caiying2007_ap=["角","分正"]
var caiying2007_s=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
//获取整数并转换大写
if (x>=1){//金额不小于1元
 var caiying2007_b=x.toString().split(".")[0].split(""),k=caiying2007_b.length
 //个位以前
 for (var i=0;i<k-1;i++){
  if ((k-i)==9 && parseInt(caiying2007_b[i])==0){//亿
   caiying2007_b[i]=caiying2007_bp[k-i-1];
  }
  if ((k-i)==5 && parseInt(caiying2007_b[i])==0){//万
   var poo=false
   for (var p2=1;p2<4;p2++){
    if (parseInt(caiying2007_b[i-p2])!=0){poo=true;p2=100}
   }
   caiying2007_b[i]=(poo)?caiying2007_bp[k-i-1]:"";
  }
 }
 for (var i=0;i<k-1;i++){
  if (parseInt(caiying2007_b[i])==0)caiying2007_b[i]=(caiying2007_b[i-1]=="零" ||caiying2007_b[i-1]=="")?"":"零";
else caiying2007_b[i]=(caiying2007_b[i]=="零")?"零":(caiying2007_b[i]=="亿")?"亿":(caiying2007_b[i]=="万")?"万":(caiying2007_b[i]=="")?"":caiying2007_s[parseInt(caiying2007_b[i])]+caiying2007_bp[k-i-1]
 }
 
 //个位
 caiying2007_b[k-1]=(parseInt(caiying2007_b[k-1])==0)?caiying2007_bp[0]:caiying2007_s[parseInt(caiying2007_b[k-1])]+caiying2007_bp[0]
 caiying2007_b_=caiying2007_b.join("")
//去无效"零",如要求保留"零亿"/"零万"/"零元",屏蔽或删除下面三句
 caiying2007_b_=caiying2007_b_.replace("零万","万")
 caiying2007_b_=caiying2007_b_.replace("零亿","亿")
 caiying2007_b_=caiying2007_b_.replace("零元","元")
}
//金额不小于1元
//else caiying2007_b_="零元"//金额小于1元显示"零元"
else caiying2007_b_="";//金额小于1元不显示"零元"
//获取小数并转换大写
if (x.toString().split(".")[1]){
var caiying2007_a=x.toString().split(".")[1].split("")
 //caiying2007_a[0]=caiying2007_s[parseInt(caiying2007_a[0])]+caiying2007_ap[0];//显示“零角”
 caiying2007_a[0]=(parseInt(caiying2007_a[0])==0)?"":caiying2007_s[parseInt(caiying2007_a[0])]+caiying2007_ap[0];//不显示“零角”
 if (caiying2007_a[1])caiying2007_a[1]=(parseInt(caiying2007_a[1])==0)?caiying2007_ap[1]:caiying2007_s[parseInt(caiying2007_a[1])]+caiying2007_ap[1]
 else caiying2007_a[1]="正"
caiying2007_a_=caiying2007_a.join("")
}
else caiying2007_a_="正"
//合并整数小数
var caiying2007=caiying2007_b_+caiying2007_a_
return caiying2007
}
</SCRIPT>
</head>
<body>
<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><table width="724" border="1" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" style="border-collapse: collapse">
      <tr bgcolor="#F0F0F0">
        <td colspan="2"><table width="718">
            <tr>
              <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td height="40"><div align="center" class="S_bt">表格</div></td>
                  </tr>
                  <tr>
                    <td><div align="center">
                        <table width="400" height="1" border="0" cellpadding="0" cellspacing="0">
                          <tr>
                            <td bgcolor="#666666"></td>
                          </tr>
                        </table>
                    </div></td>
                  </tr>
              </table></td>
            </tr>
            <tr>
              <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td> </td>
                  </tr>
                </table>
                        <table width="724" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse">
        <tr>
          <td colspan="2"><form name="form1"><table width="724" border="1" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" style="border-collapse: collapse" class="texts">
              <tr bgcolor="#F8ECB4">
                <td width="30" height="20"><input type="checkbox"  name="checkall"  onClick="check_all(this)" ></td>
                <td width="30" height="20"><div align="center"><strong>序号</strong></div></td>
                <td width="187"><div align="center"><strong>货品编码</strong></div></td>
                <td width="187"><div align="center"><strong>货品名称</strong></div></td>
                <td width="97"><div align="center"><strong>数量</strong></div></td>
                <td width="97"><div align="center"><strong>单价</strong></div></td>
                <td width="99"><div align="center"><strong>金额</strong></div></td>
              </tr>
          </table>
              <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td><table width="724" border="1" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" style="border-collapse: collapse" class="doublecolortable" id="amount_price_total">
                    <tr>

<script language="JavaScript">
function check_all(obj){
for(i=0;i<document.getElementsByName("c").length;i++){
document.getElementsByName("c")[i].checked=obj.checked;
}
}
</script>

                      <td width="30" height="20"><input type="checkbox"  name="c" /></td>
                      <td width="30" height="20"><div align="center">1</div></td>
                      <td width="187"><input name="textfield33" type="text" class="input_1"></td>
                      <td width="187"><input name="textfield322" type="text" class="input_1"></td>
                      <td width="97"><div align="center">
                          <input name="amount12" type="text" class="input_2" id="amount12" size="10">
                      </div></td>
                      <td width="97"><div align="center">
                          <input name="price12" type="text" class="input_2" id="price12" size="10">
                      </div></td>
                      <td width="99"><div align="center">
                          <input name="total12" type="text" class="input_2" id="total12" size="10">
                      </div></td>
                    </tr>
                    <tr>

<script language="JavaScript">
function check_all(obj){
for(i=0;i<document.getElementsByName("c").length;i++){
document.getElementsByName("c")[i].checked=obj.checked;
}
}
</script>

                      <td width="30" height="20"><input type="checkbox"  name="c" /></td>
                      <td height="20"><div align="center">2</div></td>
                      <td><input name="textfield33" type="text" class="input_1"></td>
                      <td><input name="textfield322" type="text" class="input_1"></td>
                      <td><div align="center">
                          <input name="amount22" type="text" class="input_2" id="amount22" size="10">
                      </div></td>
                      <td><div align="center">
                          <input name="price22" type="text" class="input_2" id="price22" size="10">
                      </div></td>
                      <td><div align="center">
                          <input name="total22" type="text" class="input_2" id="total22" size="10">
                      </div></td>
                    </tr>
                    <tr>

                    <script language="JavaScript">
function delRow(){ 

        window.event.srcElement.parentNode.parentNode.parentNode.removeChild(window.event.srcElement.parentNode.parentNode); 

     } 

    //删除所有数据行 

     function delAllRows(){ 

         var rowParent = document.getElementById("mytab").childNodes[1]; 

         var rows = rowParent.rows; 

         for(var i=rows.length-1;i>=0;i--){ 

          rowParent.removeChild(rows[i]); 

         } 

     } 

</script>
                    </tr>

                     <td><input type="button" name="delete_button"   style="font-size:20px;  width: 85px; height: 30px;"   value="删 &nbsp 除" onclick="deleteAll('c');"></td>

                    <tr>
                      <td height="20" colspan="6"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td>合计人民币大写:<span id="tt"></span> </td>
                        </tr>
                      </table></td>
                      </tr>
                  </table></td>
                </tr>
              </table>
          </form></td>
        </tr>
      </table></td>
  </tr>
</table>
</body>
</html> 

只要把红色对应的部分覆盖就可以了。

==========JS==========
window.onload=function init(){
    var input_obj=$("amount_price_total").getElementsByTagName("input"),j=input_obj.length;
    for(var i=0;i<j;i++){
         if (input_obj[i].id.indexOf("price")!=-1){
            input_obj[i].onblur=function(){calculate(this.id);calculate_total();}
            var _id = input_obj[i].id.substring(5) ;
            $('amount' + _id).onchange = function(__id){
                return function(){
                    if($('price'+__id).value > 0){
                        calculate('price'+__id);
                        calculate_total();
                    }           
                }
            }(_id);
         }
    }
}

==========HTML==========
<body>
<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><table width="724" border="1" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" style="border-collapse: collapse">
      <tr bgcolor="#F0F0F0">
        <td colspan="2"><table width="718">

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。