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

199
Visualizações
Al hacer clic en mi botón, la página se actualiza

Solo quiero preguntar sobre el código HTML, ¿por qué cuando hago clic, Hello world solo aparece pero no permanece en mi pantalla?

 <!DOCTYPE HTML> <html lang="en"> <head> <link href="style.css" rel="stylesheet"> <title> Hello world</title> </head> <body> <!-- Create a button that when click alert to the screen Hello World--> <form> <button id="myBtn">Click here</button> </form> <p id="hi"></p> <script> let body = document.querySelector('body'); document.getElementById('myBtn').addEventListener('click', function() { body.style.backgroundColor = 'red'; }); </script> </body> </html>

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Intuitivamente, el tipo implícito de una etiqueta <button> es submit , no button . Entonces, cuando tiene un elemento <button> sin un atributo de type dentro de un elemento <form> , hará que se envíe ese formulario. En este caso, su formulario carece de un atributo de action , por lo que se enviará de forma predeterminada a la página en la que se encuentra actualmente, lo que hará que su página se vuelva a cargar.

En este caso, el problema se resuelve fácilmente eliminando la etiqueta <form> , ya que no es necesaria por ningún otro motivo. Pero, de manera más general, recomendaría agregar un atributo type="button" en cualquier elemento <button> que no esté diseñado para enviar un formulario.

Incluso si sabe que en algunos casos su botón no está dentro de un formulario, es un hábito útil para adquirirlo. En algunos proyectos grandes, es posible que esté escribiendo fragmentos aislados de HTML que se insertarán en varios contextos, por lo que type="button" puede evitar que se produzcan errores si crea un botón de forma aislada que luego se inserta en un formulario por algún motivo.

Para completar, también tiene la opción de capturar el evento de envío como el primer argumento de su controlador de eventos y evitar su acción predeterminada con el método preventDefault :

 <!DOCTYPE HTML> <html lang="en"> <head> <link href="style.css" rel="stylesheet"> <title> Hello world</title> </head> <body> <!-- Create a button that when click alert to the screen Hello World--> <form> <button id="myBtn">Click here</button> </form> <p id="hi"></p> <script> let body = document.querySelector('body'); document.getElementById('myBtn').addEventListener('click', function(e) { e.preventDefault(); body.style.backgroundColor = 'red'; }); </script> </body> </html>

Esto evitaría la acción predeterminada del evento de envío, por lo que la página no se volvería a cargar aunque hiciera clic en un botón de envío. Pero debido a que el elemento de formulario en este caso no es necesario por ningún otro motivo, tiene más sentido simplemente eliminarlo.

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