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

134
Vistas
Mostrar alerta modal en lugar de consola

Estoy aprendiendo Javascript y he estudiado estos casos similares 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 sin éxito. No uso dependencias como jQuery o Bootstrap.

Quiero reemplazar alert("¡Éxito!"); con algo como document.getElementById('modal-team').showModal(); en el siguiente código, para mostrar un modal y mantener al usuario en la misma página:

 window.addEventListener("load", function() { const form = document.getElementById('registration'); form.addEventListener("submit", function(e) { e.preventDefault(); const data = new FormData(form); const action = e.target.action; fetch(action, { method: 'POST', body: data, }) .then(() => { alert("Success!"); }) }); });

¿Puedes ayudarme?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Los modales no existen en el estándar JavaScript o HTML. Para definir el concepto, tienes dos opciones:

  • lo creas tu mismo
  • carga una implementación particular de una biblioteca que la define de una manera particular.

Las preguntas enumeradas anteriormente usan la implementación de modales de Bootstrap y, por lo tanto, solo se aplicarían si usara Bootstrap.


Un modal no es particularmente difícil de implementar sin una biblioteca, pero debe considerar resolver algunos problemas:

  • cómo se muestra en todos los dispositivos, incluidos los dispositivos móviles
  • cómo se desplaza cuando su contenido supera el tamaño de la pantalla (si implementa el desplazamiento en el nivel <body> o en el nivel .modal-body )
  • cómo maneja múltiples instancias modales (cuando abre un modal desde otro modal, los mantiene abiertos o cierra el modal inicial)
  • si (y cómo) permite la inyección de datos en la instancia modal y si (y cómo) permite la inyección de datos desde la instancia modal, cuando se cierra el modal (normalmente se resuelve especificando una devolución de llamada que recibe el modal, antes de que cierra).

Todo lo anterior ya está resuelto en la mayoría de las implementaciones modales, por lo que las personas prefieren usarlos en lugar de escribir los suyos propios.


Para responder a su pregunta específica, un HTMLDivElement no tiene un método .showModal() . Antes de que pueda llamar a un método de este tipo, primero debe definirlo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo descubro usando una ruta diferente, pero usando más código que no me gusta .

Usó el mismo js para interceptar (simplemente eliminó .then ):

 window.addEventListener("load", function() { const t = document.getElementById("infobar"); t.addEventListener("submit", function(e) { e.preventDefault(); const n = new FormData(t), o = e.target.action; fetch(o, { method: "POST", body: data, }) }) });

Llame a una función onsubmit para un formulario con una identificación única:

 <form onsubmit="Dia()" id="infobar" name="form" method="post" action="blablabla"> <input type="email" name="Email" placeholder="Email here"> <input type="submit" value="Join"></form>

La función js que sirve el formulario:

 function Dia(){document.getElementById("Di").showModal()};

El modal que muestra la función js (usó el cuadro de diálogo ya que es compatible con los navegadores modernos 1 ):

 <dialog id="Di">👍🏽 Received.</dialog>

Si alguien puede proporcionar una solución con menos código (y para múltiples identificaciones), para el mismo resultado sin dependencias, sea mi invitado ; Me encantaría aprender.

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