我正在开发一个简单的CRUD Web应用程序,它包含3个页面,一个登陆/索引页面,1个页面查看显示保存的数据,1个页面进行更改并将这些更改保存在indexeddb中。在其中两个页面上,我调用了一个简单的javascript函数将 .style.display 从“none”更改为“block”,以便显示模态。由于某种原因,它只在一个页面上工作。在另一个页面上(下面显示的HTML代码)在导航到登录页面之前,模态仅显示一瞬间。
function modalOpen(){
let modal = document.getElementById("aModal");
modal.style.display = "block";}
包含此代码的javascript文件在两个HTML文件中链接。下面是相应的HTML代码。在第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>
当我打开chrome devtools并从控制台调用modalOpen()-函数时,模态得到预期的显示。无论使用chrome,edge还是作为安卓移动的的apache cordova应用程序构建时,都会出现这种行为。在两种浏览器中多次清除缓存保存的数据。为什么会出现这种情况?
1条答案
按热度按时间idv4meu81#
由于历史原因,默认情况下,
<button>
标记在<form>
中充当 submit 按钮。<form>
;<button type=button>
禁用该提交行为