萌新项目人 2016-04-24 08:18 采纳率: 100%
浏览 1602
已采纳

这是一个除法代码,我想实现自动运算,而不是输入信息后才运算,如何修改?

是输入信息后点击input外边的范围才会运算,但是目前已经有信息,如何省却上述步骤直接运算?

 <html> 
<head> 
<script>
function compute()
{
  var a,b;
  if(document.getElementById("txt1").value!="" && document.getElementById("txt2").value!="")
 {
  a=parseFloat(document.getElementById("txt1").value);
  b=parseFloat(document.getElementById("txt2").value);
  document.getElementById("txt3").value=(a/b).toFixed(2);
 }
}
</script>
</head> 
<body> 
<input onchange="compute()" value="123123"  id="txt1"> 
<input onchange="compute()" value="123123"  id="txt2"> 
<input id="txt3" readonly> 
</body> 
</html>
  • 写回答

3条回答

  • cocotsau 2016-04-24 09:01
    关注

    两个地方改一下,把onchange改成oninput,另外加一个onload事件,初始化txt3的值,这样就可以同时满足:初始值和自动运算,请看demo

     <html> 
    <head>
    <script type='text/javascript'>
    onload=function(){
        var a=parseFloat(document.getElementById("txt1").value),
        b=parseFloat(document.getElementById("txt2").value);
        document.getElementById("txt3").value=(a/b).toFixed(2);
    }
    
    function compute(){
        a=parseFloat(document.getElementById("txt1").value);
        b=parseFloat(document.getElementById("txt2").value);
        if(a!="" && b!=""){
            document.getElementById("txt3").value=(a/b).toFixed(2);
        }
    }
    </script>
    </head> 
    <body> 
    <input oninput="compute()" value="123123"  id="txt1"> 
    <input oninput="compute()" value="123123"  id="txt2"> 
    <input id="txt3" readonly>
    
    </body> 
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?