Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

150
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda