Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
Creé un formulario pequeño pero la estructura if / else se bloquea en el segundo intento

Tengo un formulario que calcula la edad de una persona. Escribí dos funciones. el primero hace el cálculo y el segundo devuelve alguna sentencia if/else. Tengo un problema con la sentencia if/else. Sea cual sea la edad de la persona, JS siempre devuelve el segundo si. No puedo entender cómo puedo resolver este problema.

¿Alguien me puede ayudar?

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>

CÓDIGO 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...`) } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Entonces, un problema fue el uso del mismo nombre para una variable y una función. El otro problema fue el hecho de que no creaste condiciones con "límites".

Por ejemplo, imagine que la edad es 60, este número es mayor o igual a 29, por lo que será cierto en este otro caso y entrará en él. Entonces necesitas crear una tarifa [Máximo y Mínimo]

 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...`) } } }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!