如何调整表格的输入/输出增量

时间:2019-01-09 20:42:15

标签: html

我正在尝试创建一个表单,该表单将基于多个输入显示总计。每个输入将乘以某个因子。目前我有:

<form method="post"
oninput="total.value= parseInt(a.value*1.5)+parseInt(b.value*2)+parseInt(c.value*1.5).toFixed(2)">

<input type="number" id="a" name="a" value="0" min="0" step="1.0">
<input type="number" id="b" name="b" value="0" min="0" step="1.0">
<input type="number" id="c" name="c" value="0" min="0" step="1.0">


<output name="total" for="a b c"></output>

</form>

运行此命令时,前两个输入的输出为10或15的倍数。在第一个输入中选择“ 1”应输出“ 1.5”,而应输出“ 10”,而选择“ 2”则输出“ 30”而不是“ 3”。在最后一个输入中选择“ 1”至少会输出“ 1”而不是“ 10”,但应为“ 1.5”。

我该如何解决这个问题,以免输出不相乘且结果准确?

1 个答案:

答案 0 :(得分:1)

我认为您需要先将值转换为数字,就像这样(+ a.value与Number(a.value)相同):

<form method="post"
oninput="total.value= ((+a.value*1.5)+(+b.value*2)+(+c.value*1.5)).toFixed(2)">

<input type="number" id="a" name="a" value="0" min="0" step="1.0">
<input type="number" id="b" name="b" value="0" min="0" step="1.0">
<input type="number" id="c" name="c" value="0" min="0" step="1.0">


<output name="total" for="a b c"></output>

</form>