我正在開發一個簡單的 CRUD-web-app,它包含 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 還是構建為適用于 android mobile 的 apache cordova 應用程式,都會出現此行為。快取在兩個瀏覽器中多次清除的已保存資料。為什么這(不)會發生?
uj5u.com熱心網友回復:
由于歷史原因,默認情況下,當<button>標簽位于. 您可以執行以下兩項操作之一:<form>
- 如果您無論如何都在使用某種 ajax 機制,那么您可能根本不需要 a
<form>; - 您可以明確地制作按鈕
<button type=button>以禁用該提交行為
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/462541.html
標籤:javascript html css 科尔多瓦
