2011-11-25 29 views
0

我在我的網站上有一些頁面和一個左側菜單控件。控制有助於從一個頁面導航到另一個頁面。使用導航驗證

我的查詢是 - >當用戶嘗試導航到另一個頁面時,如果表單未保存,我想強制執行一些驗證,如當前頁面,用戶將被要求使用確認消息框保存它,如果用戶不按任何按鈕,則用戶將被允許導航,否則系統將首先保存細節,然後導航。

編輯 - 我的頁面是內容頁,我的意思是,這是在使用母版頁。

回答

0

使用以下步驟

window.onbeforeunload = confirmExit; 

和停止/ CONTIN功能你的頁面執行。

function confirmExit() {    
      var email= document.getElementById("email"); 
      if (email.value != "") 
       return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?"; 
} 
+0

我也想通過點擊yes按鈕來調用這個頁面的保存事件。請建議如何做到這一點。 – Pankaj

+0

我也在我的問題中附加了一行。 – Pankaj

+0

只需使用確認功能。例如'如果(確認(「離開頁面?」)){ 返回true; } else {save(); 返回false; }' – Adeel

0

我會這樣做的方式是有一個onbeforeunload JavaScript事件火災,讓用戶選擇保存表單。我個人也會調查保存數據的表格,以便他們完成它。我認爲這是SO使用的方法。

有代碼項目上相當不錯的例子了,可以幫助http://www.codeproject.com/KB/aspnet/AutoSaveFormData.aspx

編輯:

如果你只想調用保存方法,你可以用[的WebMethod]濾色器標誌,並調用它使用的XmlHttpRequest或jQuery的$。員額

+0

感謝您的回覆。我會嘗試它,並會盡快更新。謝謝。 – Pankaj