我创建了一个小表单,但 if / else 结构在第二次尝试时挂起
I created a small form but the if / else structure hangs on the second try
我有一个计算一个人年龄的表格。我写了两个函数。第一个进行计算,第二个 returns 一些 if/else 语句。 if/else 语句有问题。无论年龄多大的人,JS总是returns第二个if。我不知道如何解决这个问题。
有人可以帮助我吗?
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="stile.css">
</head>
<body>
<form id="anni">
<input type="text" id="annoattuale">
<input type="text" id="nascita">
<button type="submit">Calcola</button>
</form>
<script src="script.js"></script>
</body>
</html>
JS 代码
anni.onsubmit = function (e) {
e.preventDefault()
let attualita = document.querySelector("#annoattuale").value
let nascita = document.querySelector("#nascita").value
let calcolaEta = (attuale, annodiNascita) => attuale - annodiNascita
let calcolatriceEta = calcolaEta(attualita, nascita)
condizioniEta(calcolatriceEta)
function condizioniEta (calcoloEta) {
if(calcoloEta === 18) {
console.log(`Hai ben ${calcoloEta}! Sei appena maggiorenne!`)
}
else if(calcoloEta >= 29) {
console.log(`Hai ben ${calcoloEta}! Sei un giovane piuttosto maturo`)
}
else if(calcoloEta >= 49) {
console.log(`Hai ben ${calcoloEta} e ti stai avvicinando alla vecchiaia`)
}
else if(calcoloEta >= 59) {
console.log(`Hai ben ${calcoloEta} e sei entrato nella vecchiaia`)
}
else if(calcoloEta >= 69) {
console.log(`Hai ben ${calcoloEta}... Ti potrebbe rimanere poco tempo da vivere...`)
}
else if(calcoloEta >= 89) {
console.log(`Hai ben ${calcoloEta}... La morte è quasi vicina...`)
}
}
所以一个问题是对变量和函数使用相同的名称。另一个问题是你没有用“限制”创造条件。
例如假设年龄是 60 岁,这个数字大于或等于 29,所以如果并且将输入它,那么它在 else 上为真。所以你需要创建一个费率[最大值和最小值]
anni.onsubmit = function (e) {
e.preventDefault()
let attualita = document.querySelector("#annoattuale").value
let nascita = document.querySelector("#nascita").value
let calcolaEta = (attuale, annodiNascita) => attuale - annodiNascita
let calcolatriceEta = calcolaEta(attualita, nascita)
condizioniEta(calcolatriceEta)
function condizioniEta (calcoloEtaChanged) {
if(calcoloEtaChanged === 18) {
console.log(`Hai ben ${calcoloEtaChanged}! Sei appena maggiorenne!`)
}
else if(calcoloEtaChanged >= 29 && calcoloEtaChanged >= 48) {
console.log(`Hai ben ${calcoloEtaChanged}! Sei un giovane piuttosto maturo`)
}
else if(calcoloEtaChanged >= 49 && calcoloEtaChanged <= 58) {
console.log(`Hai ben ${calcoloEtaChanged} e ti stai avvicinando alla vecchiaia`)
}
else if(calcoloEtaChanged >= 59 && calcoloEtaChanged <= 68) {
console.log(`Hai ben ${calcoloEtaChanged} e sei entrato nella vecchiaia`)
}
else if(calcoloEtaChanged >= 69 && calcoloEtaChanged <= 88) {
console.log(`Hai ben ${calcoloEtaChanged}... Ti potrebbe rimanere poco tempo da vivere...`)
}
else if(calcoloEtaChanged >= 89) {
console.log(`Hai ben ${calcoloEtaChanged}... La morte è quasi vicina...`)
}
}
}
我有一个计算一个人年龄的表格。我写了两个函数。第一个进行计算,第二个 returns 一些 if/else 语句。 if/else 语句有问题。无论年龄多大的人,JS总是returns第二个if。我不知道如何解决这个问题。
有人可以帮助我吗?
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="stile.css">
</head>
<body>
<form id="anni">
<input type="text" id="annoattuale">
<input type="text" id="nascita">
<button type="submit">Calcola</button>
</form>
<script src="script.js"></script>
</body>
</html>
JS 代码
anni.onsubmit = function (e) {
e.preventDefault()
let attualita = document.querySelector("#annoattuale").value
let nascita = document.querySelector("#nascita").value
let calcolaEta = (attuale, annodiNascita) => attuale - annodiNascita
let calcolatriceEta = calcolaEta(attualita, nascita)
condizioniEta(calcolatriceEta)
function condizioniEta (calcoloEta) {
if(calcoloEta === 18) {
console.log(`Hai ben ${calcoloEta}! Sei appena maggiorenne!`)
}
else if(calcoloEta >= 29) {
console.log(`Hai ben ${calcoloEta}! Sei un giovane piuttosto maturo`)
}
else if(calcoloEta >= 49) {
console.log(`Hai ben ${calcoloEta} e ti stai avvicinando alla vecchiaia`)
}
else if(calcoloEta >= 59) {
console.log(`Hai ben ${calcoloEta} e sei entrato nella vecchiaia`)
}
else if(calcoloEta >= 69) {
console.log(`Hai ben ${calcoloEta}... Ti potrebbe rimanere poco tempo da vivere...`)
}
else if(calcoloEta >= 89) {
console.log(`Hai ben ${calcoloEta}... La morte è quasi vicina...`)
}
}
所以一个问题是对变量和函数使用相同的名称。另一个问题是你没有用“限制”创造条件。
例如假设年龄是 60 岁,这个数字大于或等于 29,所以如果并且将输入它,那么它在 else 上为真。所以你需要创建一个费率[最大值和最小值]
anni.onsubmit = function (e) {
e.preventDefault()
let attualita = document.querySelector("#annoattuale").value
let nascita = document.querySelector("#nascita").value
let calcolaEta = (attuale, annodiNascita) => attuale - annodiNascita
let calcolatriceEta = calcolaEta(attualita, nascita)
condizioniEta(calcolatriceEta)
function condizioniEta (calcoloEtaChanged) {
if(calcoloEtaChanged === 18) {
console.log(`Hai ben ${calcoloEtaChanged}! Sei appena maggiorenne!`)
}
else if(calcoloEtaChanged >= 29 && calcoloEtaChanged >= 48) {
console.log(`Hai ben ${calcoloEtaChanged}! Sei un giovane piuttosto maturo`)
}
else if(calcoloEtaChanged >= 49 && calcoloEtaChanged <= 58) {
console.log(`Hai ben ${calcoloEtaChanged} e ti stai avvicinando alla vecchiaia`)
}
else if(calcoloEtaChanged >= 59 && calcoloEtaChanged <= 68) {
console.log(`Hai ben ${calcoloEtaChanged} e sei entrato nella vecchiaia`)
}
else if(calcoloEtaChanged >= 69 && calcoloEtaChanged <= 88) {
console.log(`Hai ben ${calcoloEtaChanged}... Ti potrebbe rimanere poco tempo da vivere...`)
}
else if(calcoloEtaChanged >= 89) {
console.log(`Hai ben ${calcoloEtaChanged}... La morte è quasi vicina...`)
}
}
}