使用線上表單時,您可能會遇到一個惱人的問題:可怕的「確認表單重新提交」對話框。提交包含使用者輸入的有價值資料的表單後,刷新頁面可能會觸發此對話框,提示使用者確認其意圖,並可能導致重複提交。
出現此問題的原因是表單資料仍然被快取瀏覽器。頁面刷新後,瀏覽器會偵測到表單之前已提交,並嘗試提醒使用者可能會重新提交,以防止意外的重複操作。
為了避免這種不方便的對話框,您可以實現一個簡單的解決方案:使用 JavaScript 程式碼覆蓋瀏覽器的預設行為。透過在重新載入頁面的HTML 中包含以下程式碼片段,您可以指示瀏覽器將目前狀態替換為新的乾淨狀態,從而有效地擦除先前的表單提交:
<code class="javascript">if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); }</code>
此程式碼利用“replaceState” ()' 函數在瀏覽器歷史記錄中建立一個新條目,覆蓋目前條目。因此,當使用者重新整理頁面時,瀏覽器將識別出先前表單資料的缺失,並且不會顯示「確認表單重新提交」對話方塊。
以上是如何防止刷新網頁時出現「確認表單重新提交」對話框?的詳細內容。更多資訊請關注PHP中文網其他相關文章!