如何在Web頁面退出前提示使用者儲存資料?

來源:互聯網
上載者:User
當使用者在使用一個頁面進行資料的新增或者修改時,使用者可能已經修改頁面上的某些資料,這個時候使用者由於誤錯作點擊了離開改頁面的按鈕或者連結,使用者剛才所做的工作將會全部作廢,為了做到個人化,此時應該給使用者已經做過修改,是否真的不儲存就要離開的提示。要實現以上效果需做一下幾項工作:

1、 判斷表單上的值是否被修改過。

2、 表單在跳轉或者關閉前要根據1中的條見進行判斷,當使用者不是進行真正提交事件時提示使用者有資料修改但沒有儲存,使用者點擊否可以取消剛才的操作。

鑒於以上的分析,使用一下的方法來進行:

1、  頁面上加一個隱藏欄位來儲存表單是否被修改過。

<input type="text" id="txtFlag" value="0" />
function ValueChanged()
{
   document.getElementById("txtFlag").value = 1;//一表示表單值已經被修改過
}
讓表單中所有input、select(對應到ASP.NET中為TextBox、DropDownList、RadioButton等伺服器端控制項)類型元素的onchange(值改變),onkeypress(有輸入情況), onpaste(粘貼值)等改變input、select值的事件執行ValueChanged()函數

2、  在body的onbeforeunload事件中根據txtFlag的值提示使用者儲存,具體函數如下:

function CloseIt()
{
  if(document.getElementById("txtFlag").value !="0")//如果txtFlag的值不為0則提示
      event.returnValue = "頁面值已經修改,是否真的不儲存?";
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.