我的条件如果没有执行。告诉我为什么?

时间:2019-04-29 11:10:11

标签: javascript

在此功能中,程序不想执行我的条件。我愚蠢地尝试将“ 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) + "€";}
}

3 个答案:

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