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

123
Visualizações
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 Respostas
Responde à pergunta

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 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