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

130
Vistas
Llamar a la misma función para cambiar element.style.display a "bloquear" en dos páginas diferentes con resultados diferentes

Estoy trabajando en una aplicación web CRUD simple que consta de 3 páginas, una página de inicio/índice, 1 página para ver los datos guardados y 1 página para realizar cambios y guardar estos cambios en una base de datos indexada. En dos de estas páginas, invoco una función javascript simple para cambiar .style.display de "ninguno" a "bloquear" para mostrar un modal. Por alguna razón, solo funciona en una página. En la otra página (el código HTML que se muestra a continuación), el modal se muestra solo durante una fracción de segundo antes de que uno navegue a la página de destino.

 function modalOpen(){ let modal = document.getElementById("aModal"); modal.style.display = "block";}

El archivo javascript que contiene este código está vinculado en ambos archivos HTML. A continuación se muestra el código HTML correspondiente. La función se llama en la línea 5.

 <main> <form> .... <button id="bSubmitExercise" onclick="edit('all')">Änderungen speichern</button> <button id="bOpenDeleteModal" onclick="modalOpen()">Übung löschen</button> <button id="bBackToIndex" onclick="location.href='detailsExercise.html'">Zurück zur Übersicht</button> </form> </main> <article id="aModal" class="aModal"> <section class="sModalContent"> <h5 id="hExercisesName"></h5> <div class="dContModalButtons"> <button id="bModalConfirmDelete" class="bModal" onclick="deleteExercise()">Löschen</button> <button id="bModalClose" class="bModal" onclick="modalClose()">Fenster schließen</button> </div> </section> </article>

Cuando abro las herramientas de desarrollo de Chrome y llamo a la función modalOpen() desde la consola, el modal se muestra según lo previsto. Este comportamiento ocurre ya sea usando Chrome, Edge o cuando se crea como la aplicación Apache Cordova para dispositivos móviles con Android. Almacene en caché los datos guardados que se borraron varias veces en ambos navegadores. ¿Por qué (no) sucede esto?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Por razones históricas, de forma predeterminada, la etiqueta <button> actúa como un botón de envío cuando está en un <form> . Puedes hacer una de las dos cosas:

  • Si está utilizando algún tipo de mecanismo ajax de todos modos, es posible que no necesite un <form> en absoluto;
  • Puede hacer explícitamente los botones <button type=button> para deshabilitar ese comportamiento de envío
about 4 years ago · Santiago Trujillo 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