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求出余数。这个可以做吗?
大约 2 年之前 回复
perhapschen
perhapschen 回复fenglinstudio: 你是说清空前面两个input的值?
大约 2 年之前 回复
fenglinstudio
fenglinstudio 深表感谢
大约 2 年之前 回复
fenglinstudio
fenglinstudio 那么这个代码我跑起来时不想让前面两个input显示怎么做呢
大约 2 年之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Python练习题 10-6~10-7乘法练习题
10-6 加法运算:提示用户提供数值输入时,常出现的一个问题是,用户提供的是 文本而不是数字。在这种情况下,当你尝试将输入转换为整数时,将引发 TypeError 异 常。编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的 任何一个值不是数字时都捕获 TypeError 异常,并打印一条友好的错误消息。对你编写 的程序进行测试:先输入两个数字,再输入一些文本而不是数字。
python从入门到实践:10-6 加法运算
原题如下: 提示用户提供数值输入时, 常出现的一个问题是, 用户提供的是文本而不是数字。 在这种情况下, 当你尝试将输入转换为整数时, 将引 发TypeError 异常。 编写一个程序, 提示用户输入两个数字, 再将它们相加并打印结果。 在用户输入的任何一个值不是数字时都捕获TypeError 异常, 并打印一条友好的错误消息。 对你编写的程序进行测试: 先输入两个数字, 再输
cobol学习之六数值的运算
首先来一段代码: 000010 IDENTIFICATION DIVISION. 000011 PROGRAM-ID. LESSON01-1. 000020 ENVIRONMENT DIVISION. 000030 DATA DIVISION. 000040 WORKING-STORAGE SECTION. 000050 77 N PIC 99. 000
Java实现大数运算
一、大数运算介绍   大数运算,顾名思义,就是很大的数值的数进行一系列的运算。它是指由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。 二、Java实现大数运算方法        在BigDecimal用法详解这篇文章中给大家介绍了Java中的大数类Bi
C语言实现只用加法和减法实现两个正整数的乘除运算
1、乘法a*b如下 #include #include int main() { int a,b; int i,result=0; scanf("%d%d",a,b); for(i=0; i<b; i++) { result = result+a; } printf("%d\n",result); return
android 计算器 demo 可以实现连续加减乘除运算
android 计算器 demo 可以实现连续加减乘除运算
CRC检错中的模2运算方法
模2方法:每除余数删首位,首位逢一商一逢零商零,算至余数无可补。 在CRC检错中,先将数据划分成组,假设每组k个比特称为M,此时要在后面加入n位冗余码,构成(k+n)位。 将M后加n个零后除以收发双方事先规定的n+1为除数P(模2运算),所得余数R即为冗余码(帧检测序列FCS)。 接收端进行CRC检测,将传输帧除以P,若无差错则此时余数为0,若有差错则此时余数不为0。 有时用生成多项式表示
关于关系代数中除法的理解以及如何用基本运算表示除法
关系代数中的基本运算包括并,差,笛卡尔积,选择,投影。这五种基本代数运算可以推导出交、连接(包括自然连接)、和除法。其中前两者比较容易推导,直接根据定义不难得出,而除法定义理解起来较为复杂,且同时牵涉行与列的运算,因此较难推导。下面给出推导方式:首先给出除法的定义: 老师PPT中的定义: 设关系R(X,Y)与关系S(Z),其中Y和Z具有相同的属性数,且对应属性出自相同域。关系R除以关系S所得的商
Android 精准的加减乘除运算
开发中需要数学计算并且保留小数,这里提供一个工具类,供参考: package xxx; import java.math.BigDecimal; public class Arith { /** * 提供精确加法计算的add方法 * @param value1 被加数 * @param value2 加数 * @return 两个
Verilog有符号数运算
在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合;也可以使用有符号数,即包括0和正负数的集合。在更加复杂的系统中,也许这两种类型的数,我们都会用到。 有符号数通常以2的补码形式来表示。图1列出了4位二进制表示法所对应正负数。进一步观察,我们发现两种类型数的加减法是一样的,做加法和减法就是 在数轮上按正时钟转转或按反时钟转。比方说,1001+0100,意味着从1001按照顺