萌新项目人 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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)