Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

120
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!