在此功能中,程序不想执行我的条件。我愚蠢地尝试将“ else if”中的“ if”反转,并将“ else if”转换为“ if”,但是,那当然没有任何改变。
我希望在输入值为<12000时,将“ amount6”的文本内容更改为“ unqualified!”。
HTML:
<p>CALCUL GAINS PILOTE QUALIFIE</p>
<p class="minimum2">(Points total minimum groupe conseillers + groupe
animateurs = 12000 )</p>
<div class="blocklabel5">
<label for="points amount" class="label6">Entrez points groupe
conseillers</label>
<input type="number" class="amountEnter6" id="amount6">
</div>
<div class="blocklabel6">
<label for="points amount" class="label7">Entrez points groupe
animateurs</label>
<input type="number" class="amountEnter7" id="amount7">
<input type="submit" value="Commissions pilote qualifié" id="submit7"
class="submitEnter7" onclick="calcAmount6()">
</div>
<p id="marginAmount6" class="enterMargin6">0€</p>
</div>
</div>
JAVASCRIPT(calcAmount6)
function calcAmount6(){
var userAmount5 = document.getElementById("amount6").value;
var userAmount6 = document.getElementById("amount7").value;
var oneLevel1 = 12000;
if (userAmount5 + userAmount6 < oneLevel1) {
document.getElementById("marginAmount6").textContent = "Non-qualifié!";}
else if (userAmount5 + userAmount6 >= oneLevel1) {
document.getElementById("marginAmount6").textContent =
Math.round(userAmount5 * 13 / 100) + (userAmount6 * 5 / 100) + "€";}
}
答案 0 :(得分:1)
您必须将字符串转换为数字
var userAmount5 = Number(document.getElementById("amount6").value);
var userAmount6 = Number(document.getElementById("amount7").value);
假设您的输入类似于
var userAmount5 = document.getElementById("amount6").value; // 10
var userAmount6 = document.getElementById("amount7").value; // 20
那么你得到这个结果
userAmount5 + userAmount6 === '1020' // equals true
而不是您期望的30。
但是如果您首先将字符串转换为数字,则会得到所需的结果
Number(userAmount5) + Number(userAmount6) === 30 // equals true
答案 1 :(得分:1)
document.getElementById("id")
。value将以字符串形式返回该值,因此您可能需要将其强制转换为数字:Number(document.getElementById("id").value)
答案 2 :(得分:0)
尝试:
var userAmount5 = parseInt(document.getElementById("amount6").value);
var userAmount6 = parseInt(document.getElementById("amount7").value);