0

ユーザーが値を編集するときにポップアップメッセージを表示しようとしています。ポップアッププロンプトを表示したいです。私は助けを求めてこのサイトをフォローしています。他のページに移動しようとしているときにのみ呼び出します。iiにはajaxタブページがあり、一部のoeが別のタブに移動してページを離れたときにポップアップを表示したいと考えています。私はこれを試しました:

私のスクリプトは次のようになります:

<script type="text/javascript">
function PanelClick(sender, e) {
    ConfirmExit();
}

function ActiveTabChanged(sender, e) {
    ConfirmExit();

}

<script type="text/javascript" language="javascript">
var isDirty = false;
window.onbeforeunload = ConfirmExit;

function InputChanged(control)
   {
      isDirty = true;
   }
function ConfirmExit()
{
   if(isDirty == true){
         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?";
      }
}

どんな種類の助けや提案も大歓迎です。

私のデザインは次のようになります:

<div>
    <ajaxToolkit:TabContainer runat="server" ID="Tabs" Height="150px" OnClientActiveTabChanged="ActiveTabChanged">
        <ajaxToolkit:TabPanel runat="Server" ID="Panel1" HeaderText="Tab One">
            <ContentTemplate>
                <br />PAGE ONE -  Sample HTML Content for Tab
                <asp:TextBox runat="server" ID="txt1"/>
                <asp:TextBox runat="server" ID="TextBox1"/>
            </ContentTemplate>
        </ajaxToolkit:TabPanel>
        <ajaxToolkit:TabPanel runat="Server" ID="Panel2" HeaderText="Tab Two" >
            <ContentTemplate>
                PAGE TWO - Sample HTML Content for Tab
                <asp:TextBox runat="server" ID="TextBox2"/>
                <asp:TextBox runat="server" ID="TextBox3"/>
            </ContentTemplate>
        </ajaxToolkit:TabPanel>

        <ajaxToolkit:TabPanel runat="Server" ID="Panel3" OnClientClick="PanelClick" HeaderText="Tab Three">
            <ContentTemplate>
                <BR /><BR />PAGE THREE - Sample HTML Content for Tab
                <asp:TextBox runat="server" ID="TextBox4"/>
                <asp:TextBox runat="server" ID="TextBox5"/>
            </ContentTemplate>
        </ajaxToolkit:TabPanel>
    </ajaxToolkit:TabContainer>
<br />
</div>
4

1 に答える 1

0

これを試して:

<script>
  var tabs = document.querySelectorAll('.ajax__tab_outer');
  for(var t = 0; t < tabs.length; ++t){ 
    tabs[t].addEventListener('click', ConfirmExit); 
  }
</script>

window.onbeforeunload = ConfirmExit; 使用する代わりにwindow.addEventListener('beforeunload', ConfirmExit);

または、クロスブラウザーに jquery を使用します。

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
  $('.ajax__tab_outer').on('click', ConfirmExit);
  $(window).on('beforeunload', ConfirmExit);
</script>
于 2013-06-11T13:02:54.850 に答える