用 JavaScript 分隔输入字段
Divide input fields with JavaScript
我有 3 个输入字段:
<input type="text" id ="v0" onkeyup="calculate()"><br>
<input type="text" id ="v1" onkeyup="calculate()"><br>
<input type="text" id="result" onkeyup="calculate()" readonly><br>
我想做的是计算第一个输入的数字除以第二个输入的数字并在第三个输入中显示它。
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 ="";
}
}
添加此输入值的代码工作正常,但我需要从输入字段中除以值。
我尝试用“/”替换“+”,但它破坏了功能。
首先你得用"-"-"做减法。但是如果你想执行除法,问题是在第一次迭代中你的总数为 0,它将是:
iteration[1]: 0/anything = 0
iteration[2]: 0/anything = 0
and so on
所以如果你想执行除法你需要总计的初始值,它必须是第一个输入。
希望对您有所帮助。
您可以尝试这样一种更简单的方法:
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);
}
}
我有 3 个输入字段:
<input type="text" id ="v0" onkeyup="calculate()"><br>
<input type="text" id ="v1" onkeyup="calculate()"><br>
<input type="text" id="result" onkeyup="calculate()" readonly><br>
我想做的是计算第一个输入的数字除以第二个输入的数字并在第三个输入中显示它。
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 ="";
}
}
添加此输入值的代码工作正常,但我需要从输入字段中除以值。
我尝试用“/”替换“+”,但它破坏了功能。
首先你得用"-"-"做减法。但是如果你想执行除法,问题是在第一次迭代中你的总数为 0,它将是:
iteration[1]: 0/anything = 0
iteration[2]: 0/anything = 0
and so on
所以如果你想执行除法你需要总计的初始值,它必须是第一个输入。 希望对您有所帮助。
您可以尝试这样一种更简单的方法:
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);
}
}