2 fenglinstudio fenglinstudio 于 2016.04.24 16:18 提问

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

是输入信息后点击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个回答

perhapschen
perhapschen   2016.04.24 17: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>
baidu_34871109
baidu_34871109 回复cocotsau:我也有这个问题,想让已经算出的a,不再输入一遍。直接除以b求出余数。这个可以做吗?
一年多之前 回复
perhapschen
perhapschen 回复fenglinstudio: 你是说清空前面两个input的值?
一年多之前 回复
fenglinstudio
fenglinstudio 深表感谢
一年多之前 回复
fenglinstudio
fenglinstudio 那么这个代码我跑起来时不想让前面两个input显示怎么做呢
一年多之前 回复
perhapschen
perhapschen   2016.04.24 17:17

优化一下

<html> 
<head>
<script type='text/javascript'>
onload=compute;
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> 
liangzi321321
liangzi321321   2016.04.24 17:02

在一个页面,没有操作怎么可以运算,我觉得你可以把结果的值写到下一个页面,然后用form表单提交一下,我不是很懂,同求解决办法。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!