看你想把事件写在什么地方比较简单.document.getElementById("a1").value;就这样得到.然后计算.再赋给下个框

解决方案 »

  1.   


    var strtxt1 = document.getElementById("txt1").value;
    var strtxt2 = document.getElementById("txt2").value;
    var objtxt3 = document.getElementById("txt3");
    function Sumtxt()
    {
       objtxt3.value = parseInt(strtxt1) + parseInt(strtxt2);
    }这里一定要注意。你在txt1及txt2中是否输入的数字。<input type="text" id="txt1" name="txt1">
    <input type="text" id="txt2" name="txt2">
    <input type="text" id="txt3" name="txt3" onblur="Sumtxt()">
      

  2.   


    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>收支流水caiying2009</title>
    </head><body>
    <style>
    #MyTitle input {width:70px;text-align:center;border:0;margin-bottom:10px;}
    #MyDiv input {width:70px;text-align:right;border:0;border-bottom:1px #000 solid;margin-bottom:10px;}
    </style>
    <div id=MyTitle>
    <input type="text" value=日期>               
    <input type="text" value=本日收入>               
    <input type="text" value=本日支出> 
    <input type="text" value=本日余额><br> 
    </div><div id=MyDiv>
    <input id=day1 type="text" value=2009-03-10> 
    <input id=inp1 type="text"> 
    <input id=out1 type="text"> 
    <input id=add1 type="text"><br> 
    <input id=day2 type="text" value=2009-03-20> 
    <input id=inp2 type="text"> 
    <input id=out2 type="text"> 
    <input id=add2 type="text"><br> 
    <input id=day3 type="text" value=2009-03-30> 
    <input id=inp3 type="text"> 
    <input id=out3 type="text" > 
    <input id=add3 type="text"><br> 
    </div>
    <script language="javascript">
    <!--
    onload=init
    function init(){
    var obj=$("MyDiv")
    var inputObj=obj.getElementsByTagName("input"),j=inputObj.length
    for (var i=0;i<j;i++){
    if(inputObj[i].id.indexOf("in")!=-1 ||inputObj[i].id.indexOf("out")!=-1){
    inputObj[i].onchange=function (){test(this)}
    inputObj[i].onkeyup=function (){test(this)}
    inputObj[i].onblur=function(){cla(this)}
    }
    }
    }function $(id){return document.getElementById(id)}function test(_this){_this.value=_this.value.replace(/[^\d|.]/g,"")}function cal54(v1,v2,k){
    var t=v1-v2
    for (var i=0;i<k;i++)t=t*10
    if (t>=0 &(t-parseInt(t))>=0.5)t=parseInt(t)+1
    else if (t<0 & (t-parseInt(t))<=-0.5)t=parseInt(t)-1
    else t=parseInt(t)
    return t
    }function cla(_this){
    var t=_this.id.substr(3);
    var v1=$("inp"+t).value,v2=$("out"+t).value;
    if (v1!=""&v2!="")$("add"+t).value=cal54(v1,v2,2)/100
    }
    //-->
    </script>
    </body></html>
      

  3.   

    给前两个输入框都加一个onkeyup事件,当你数据填完,就直接计算,当然免不了要判断是否为空,或者是否为数字等判断,当你填写完,数据也都填完了
      

  4.   


    if (v1!=""&v2!="")$("add"+t).value=cal54(v1,v2,2)/100
    其中2--保留两位小数(后面需要/100==10的2次方)
    可以任意设定例如:
    if (v1!=""&v2!="")$("add"+t).value=cal54(v1,v2,4)/10000
    if (v1!=""&v2!="")$("add"+t).value=cal54(v1,v2,0)/1
    ...
    最好设定位数,否则计算结果容易出现无限循环小数
      

  5.   


    function cal54(v0,v1,v2,k){
    var t=v0+v1-v2
    for (var i=0;i<k;i++)t=t*10
    if (t>=0 &(t-parseInt(t))>=0.5)t=parseInt(t)+1
    else if (t<0 & (t-parseInt(t))<=-0.5)t=parseInt(t)-1
    else t=parseInt(t)
    return t
    }function cla(_this){
    var t=_this.id.substr(3);
    var v0=$("temp"+t).value,v1=$("inp"+t).value,v2=$("out"+t).value;
    if (v1!=""&v2!="")$("add"+t).value=cal54(v0,v1,v2,2)/100
    }我添加了第三个数值v0 ,即t=v0+v1-v2 ,可得到的结果不对,即如v0=72,v1=8.111, v2=0.3 则结果为:727.811;正确应为79.811,反而变两个字符串相与了,,
    这个怎么解决??