我有3个输入字段:
<input type="text" id ="v0" onkeyup="calculate()"><br>
<input type="text" id ="v1" onkeyup="calculate()"><br>
Result: <input type="text" id="result" onkeyup="calculate()" readonly><br>
我要做的是将第一个输入的计数除以第二个输入的计数,并在第三个输入中显示。
我的JavaScript代码是:
<script type="text/javascript">
function calculate(){
var result = document.getElementById('result');
var el, i = 0, total = 0;
while(el = document.getElementById('v'+(i++)) ) {
el.value = el.value.replace(/\\D/,"");
total = total + Number(el.value);
}
result.value = total;
if(document.getElementById('v0').value =="" && document.getElementById('v1').value ==""){
result.value ="";
}
}
</script>
代码可以很好地添加这些输入值,但是我需要将输入字段中的值相除。我试图将“ +”替换为“ /”,但它破坏了功能。
有什么想法吗?
答案 0 :(得分:2)
您可以尝试这样一种更简单的方法:
function calculate () {
var input1 = document.querySelector('#v0').value;
var input2 = document.querySelector('#v1').value;
if (input1 && input2) {
document.querySelector('#result').value = (input1 / input2).toFixed(2);
}
}
答案 1 :(得分:0)
首先,您必须使用“-” 进行减法。但是,如果要执行除法运算,问题是在第一次迭代中,总计为0,这将是:
iteration[1]: 0/anything = 0
iteration[2]: 0/anything = 0
and so on
因此,如果要执行除法,则需要总计的初始值,它必须是第一个输入。 希望有帮助。