我想自动计算价格+佣金(12%)并自动输入结果。例如:100 $ + 12%佣金= 112 $。问题在这里我的结果是10012。
我在哪里写错了代码:
<input type="value" class="form-control" id="input">
<input type="value" id="output" onkeyup="calc();"/>
<input id="finalprice" onkeyup="calc();"/>
<script>
function calc() {
var a = document.getElementById("input").value;
var b = (12/100) ;
var c = b * 100;
var e = a + c;
var f = a + e;
document.getElementById("output").value = c;
document.getElementById("finalprice").value = f;
}
</script>
答案 0 :(得分:6)
您获得的是10012,因为这些值是作为字符串连接在一起的。您需要解析输入的值以允许进行计算。我重写了代码以简化它。因此,将您的金额输入第一个文本输入(#input),将速率输入第二个文本输入(#percentage)将为您提供第三个文本框中的总金额(#finalprice)。
function calc() {
var amount = parseFloat(document.getElementById("input").value);
var rate = parseFloat(document.getElementById("percentage").value)/100;
var calculatedValue = amount * rate
document.getElementById("finalprice").value = amount + calculatedValue;
}
<input type="text" class="form-control" id="input">
<input type="text" id="percentage" onkeyup="calc();"/>
<input type = "text" id="finalprice"/>
答案 1 :(得分:1)
答案 2 :(得分:0)
a的值是字符串,以实现预期使用低于选项
var a= document.getElementById('input').value;
a=a*1;// multiplying with 1 makes variable value number