Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

286
Visualizações
Solicitar al usuario que vuelva a ingresar el año de nacimiento hasta el año de nacimiento < año actual

Tengo el problema de cómo seguir mostrando un aviso hasta que el usuario ingrese su año de nacimiento siempre es más pequeño que el año actual. Aquí está mi código. Intento usar loop pero ahora lucho. Espero que alguien me pueda ayudar, se lo agradezco.

 <body> <p id= "age"></p> <button onclick=" notify()">Try it</button> <script> function notify(){ let age = prompt("Your birth year"); const year = new Date().getFullYear(); do { document.getElementById("age").innerHTML = age + " is a good year"; } while (age < year && age != null); } </script> </body>
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Podrías usar la recursividad:

 <body> <p id="age"></p> <button onclick="notify()">Try it</button> <script> age_p = document.getElementById("age"); function notify() { let age = prompt("Your birth yeat"); const year = new Date().getFullYear(); if (parseInt(age) < year) { age_p.innerHTML = age + " is a good year"; } else { notify(); } } </script> </body>

about 4 years ago · Juan Pablo Isaza Relatório

0

Dos cosas a comprobar:

  1. la prueba de "si la edad es mayor o igual al año actual continúa en bucle" parece estar en el camino equivocado. Pruebe >= en lugar de < como operador de comparación edad/año.

  2. Asegúrese de prompt nuevamente si el año ingresado es inaceptable.

Muestre el fragmento para ver una versión funcional:

 function notify(){ let age; const year = new Date().getFullYear(); do { age = prompt("Your birth year"); } while (age >= year && age != null); document.getElementById("age").innerHTML = age + " is a good year"; }
 <p id= "age"></p> <button onclick=" notify()">Try it</button>

about 4 years ago · Juan Pablo Isaza Relatório

0

Esta solución sugerida modifica considerablemente su código para tratar de mejorar tanto la UX como la capacidad de mantenimiento.

  • Un cuadro de diálogo modal prompt es fácil de configurar para nosotros, pero tiende a ser complicado para el usuario. (Un elemento de input , en este caso uno numérico, suele ser la mejor manera de obtener la entrada del usuario).
  • Los controladores de eventos en línea violan el SoC y son menos flexibles que los detectores de eventos adecuados .

(Aquí también hay cambios de estilo, pero estos son solo preferencias personales y pueden ignorarse con seguridad).

(Consulte los comentarios en el código para obtener más aclaraciones).

 // Gets current year, and identifies some DOM elements const year = new Date().getFullYear(), yearInput = document.getElementById("year-input"), outputParagraph = document.getElementById("output-paragraph"), submitButton = document.getElementById("submit-button"); // Calls notify whenever button is clicked submitButton.addEventListener("click", notify); // Alternative listener setup you could try -- makes button unnecessary // yearInput.addEventListener("change", notify); // Chooses and shows message (by comparing inputted year to current year) function notify(){ const userYear = yearInput.value; let message; if(userYear === "") { message = ""; } else if(userYear > year){ message = "Greetings, time traveller"; } else { message = "You are fit for your age"; } outputParagraph.textContent = message; }
 input{ width: 8ch; }
 <label> Your birth year <input id="year-input" type="number" /> </label> <button id="submit-button">SUBMIT</button> <p id="output-paragraph"></p>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda