用javascript分隔输入字段

时间:2019-01-26 21:17:04

标签: javascript input field

我有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>

代码可以很好地添加这些输入值,但是我需要将输入字段中的值相除。我试图将“ +”替换为“ /”,但它破坏了功能。

有什么想法吗?

2 个答案:

答案 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

因此,如果要执行除法,则需要总计的初始值,它必须是第一个输入。 希望有帮助。