首頁 > web前端 > js教程 > 主體

為什麼我的 Angular 表單按鈕會導致頁面刷新,我該如何阻止它?

Mary-Kate Olsen
發布: 2024-11-24 07:34:09
原創
456 人瀏覽過

Why Do My Angular Form Buttons Cause Page Refreshes, and How Can I Stop It?

在不刷新頁面的情況下導航:解決表單按鈕點擊問題

在Angular 中使用表單時,按一下非刷新時通常會遇到意外行為- 表單內的提交按鈕。在某些情況下,頁面可能會刷新,從而導致不良後果。本文探討了此行為背後的原因,並提供了防止不必要的頁面刷新的解決方案。

出現此問題的原因是表單元素通常設計為在點擊時提交整個表單,除非另有明確配置。在 Angular 中,此行為是由沒有指定「type」屬性的按鈕元素上的隱式「submit」事件觸發的,或者是當「ng-click」事件應用於按鈕時觸發的。

考慮以下範例:

<form class="form-horizontal">
  <button>
登入後複製
登入後複製

當透過「ng-click」事件點選「Change」按鈕時,Angular 會執行「showChangePassword()」函數,但預設的表單提交行為保持不變,導致頁面刷新。

要防止這種行為,一種解決方案是將'type' 屬性分配給'button':

<form class="form-horizontal">
  <button>
登入後複製
登入後複製

透過指定'type="button"',我們明確表明此按鈕不應觸發表單提交。這可以防止 Angular 啟動預設提交操作,並允許執行自訂「ng-click」事件而無需重新載入頁面。

以上是為什麼我的 Angular 表單按鈕會導致頁面刷新,我該如何阻止它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板