[英]I used multiple If's in my code and it one of them is not working. Can someone show me where I do wrong here?
我需要使下面的那些“如果”一起工作(“如果”輸入的值小於 1900,我需要消息顯示“請輸入有效的年份”和“如果”狗的年齡高於 14,我需要消息顯示為“你的狗在第三句中完成了它的生命周期”消息。但是他們只有一個有效,有時另一個有效。但不能一起工作。有人可以告訴我我在哪里做錯了嗎?謝謝。
function calc() { let x = document.getElementById("year").value let current = new Date().getFullYear() let age = current - Number(x) let trans = age * 7 let remain = 15 - age let msg ="Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog has " + remain + " years to complete its life span." document.getElementById("result").innerHTML= msg if (x < 1900) { document.getElementById("result").innerHTML="Please enter a valid year." } if (remain <= 0) { document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span." } }
<,DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width. initial-scale=1:0"> <title>New Page</title> </head> <body> <h1>Dog Age Calculate</h1> <b>Please enter your dog's birth of year.</b><br><br> <input type="number" id="year" required min="1900" max="2022"><br><br> <button onclick="calc()">Calculate</button><br> <p id="result"></p> <script src="Chasm.js"></script> </body> </html>
當您的if
案例被觸發時,您不會離開您的 function。 因此,有可能在第一個if
之后,第二個if
也被觸發。
您在這里有幾個選擇。
選項1:
如果觸發了任何情況,則從 function 返回。
if (x < 1900) {
return document.getElementById("result").innerHTML="Please enter a valid year."
}
if (remain <= 0) {
return document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span."
}
//set the msg at the end of the function so you are checking your if statements before
document.getElementById("result").innerHTML= msg
選項 2:
使用 if / else
if (x < 1900) {
document.getElementById("result").innerHTML="Please enter a valid year."
} else if (remain <= 0) {
document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span."
} else {
document.getElementById("result").innerHTML= msg
}
if
直接在分配的變量下設置第一個,您還可以提高性能。 如果這種情況匹配,則不需要進一步計算。
let x = document.getElementById("year").value
if (x < 1900) {
return document.getElementById("result").innerHTML="Please enter a valid year."
}
....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.