【问题标题】:Showing the alert on moving through one page to another by Unsave Change显示通过取消保存更改从一页移动到另一页的警报
【发布时间】:2011-05-12 04:40:57
【问题描述】:

场景:

我有一个 CaseEdit.aspx 页面,其中有 3 个按钮:

  • 添加图片
  • 最后一页
  • 问题解答

一个网络用户控制 CaseContentList.ascx。

在casecontentlist中,我有数据列表,我是lbtnDisplay。

当我们单击 caseEdit.aspx btn 时,我们将名称添加到 lbtnDisplay(假设我单击 btn addimage 然后 addimage 将添加到 dataliast,如果单击 btnqusans 则 qusans 将添加到该数据列表 lbtn)。

现在,每次点击 btn 时,我都会打开以下 Web 用户控件:

  • 在 AddImage 上单击我正在打开 AddImage.ascx(使用 tinymce 编辑器)

  • 在 FinalPage 点击我正在打开 FinalPage.ascx(使用 tinymce 编辑器)

  • 在 QuestionAns 上单击我正在打开 QuestionAns.ascx(使用 tinymce 编辑器)

  • 当我点击任何项目上的 datalist 链接 btn (lbtnDisplay) 时,PageContent.ascx 正在打开。

所有这些事情都发生在 caseEdit.aspx 页面上。

要求:

  1. 当我们处于任何页面的编辑模式并移动到其他页面时,它必须显示确认警报框。

  2. 当点击 lbtnDisplay 打开页面内容,然后我们将转到其他页面时,它不应该显示确认警报框。

【问题讨论】:

  • 我正在使用这个代码
  • 但是我的第二个要求是没有得到满员
  • 看看onbeforeunload:msdn; mozilla

标签: c# asp.net prompt


【解决方案1】:

您可以添加在将用户重定向到页面之前检查的其他变量:

var allowRedirect = false;

function FinalFunction() 
{ 
    if (!allowRedirect)
    {
        return confirm("Are you sure you have saved your changes?"); 
    }
} 

默认情况下allowRedirect 设置为 false,因此所有更改页面的尝试都会显示确认框。

然后,当用户单击lbtnDisplay 按钮时,您可以将allowRedirect 设置为true:

document.getElementById.onlick = function(){ allowRedirect = true; };

没有测试我的代码,但它为您提供了如何完成的概念。

【讨论】:

  • 不,它不能解决我的问题,因为 lbtndisplay 在其他控件中,我只是在我的 caseedit.aspx 页面中调用该控件
  • 这不起作用,我正在取消保存数据更改警报消息框[
  • 我正在使用脚本,但每次点击都会显示警报,需要提醒的是,当我的 tinymce 上的某些数据发生更改时,应显示警报处于编辑模式。
【解决方案2】:

当我单击编辑按钮将值更改为 1 时,我采用了一个隐藏字段并保持值 = 0,然后当用户单击其他链接时,我将比较文本框和隐藏字段的值工作正常..

function ValueChanged() {
     var textvalue;

     textvalue = removeHTMLTags(tinyMCE.get('<%=txbText.ClientID %>').getContent());
     if (textvalue != tinyText) {
         var ssave = window.confirm('Your changes are not saved. Do you want to save your changes before you exit.')
         if (ssave == true) {
             document.getElementById('<%=btnSave.ClientID%>').click();
             return false;
         }
         else
             return true;
         }
     }      

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多