2011-11-25 48 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