簡體   English   中英

如何使用兩個確認對話框?

[英]How to use two confirm dialog box?

我有一個鏈接按鈕,在點擊和確認對話框上顯示一個確認對話框我必須在數據庫中搜索,如果找到值,那么它應該再次顯示確認對話框,然后確認對話框然后再次做一些搜索任務。 為了更好地理解,我附上了流程圖。

在此輸入圖像描述

Aspx

 <script language="javascript" type="text/javascript">
        function confirm_payslip() {
                            var res = confirm("Are you sure to upload current month payslip data");
                            if (res) {
                                //return true;
                                document.getElementById("HiddenField1").value = "1";
                               var myName = <%=this.firstName%>;
                               if(myName==1)
                               {
                               var result = confirm("Payslip Already Uploaded. Do you want to replace it?");
                               if(result)
                               {
                               document.getElementById("HiddenField1").value = "2";
                               }
                               else
                               {
                                document.getElementById("HiddenField1").value = "0";
                                return false;
                               }
                               }
                            }
                            else {

                                document.getElementById("HiddenField1").value = "0";
                                return false;
                            }
                            return true;                         //document.getElementById("ctl00_ContentPlaceHolder1_div_PayTax").className = "loading"; 
                        }
        </script>
<asp:LinkButton ID="lbtn_payslip" runat="server" OnClientClick="confirm_payslip();" OnClick="lbtn_payslip_Click">Upload PaySlip Data</asp:LinkButton>
<asp:HiddenField ID="HiddenField1" runat="server" />

CS頁面

public int firstName = 0;
    protected void lbtn_payslip_Click(object sender, EventArgs e)
        {
            if (HiddenField1.Value == "1")
            {
                qry = "select count(*) from tbl_payslip_prn_t";
                dt = con.Execute(qry);
                if (dt.Rows.Count > 0)
                {
                    firstName = 1;
                }
                else
                {
                     firstName = 0;
                     //Do Some task
                }
            }
            else if (HiddenField1.Value == "2")
            {
                //Do some task
            }
            else
            {
                firstName = 0;
                return;
            }
    }

問題是第二個對話框以偶數運行,如第二次點擊,第四次點擊等。 那么如何實現上述任務呢?

在您的aspx上添加一個隱藏的asp:Button並附加一個事件處理程序,並在確認按鈕上單擊是時編寫您想要執行的代碼。

ClientScript.RegisterStartupScript(typeof(Page), "MyScript", "if(confirm(\"Payslip Already Uploaded. Do you want to replace it?\")){ document.getElementById('Button1').click(); }", true);

這個演示可能有幫助?
http://jsfiddle.net/r8vf9pyw/

function confirm_payslip() {
  var myName = document.getElementById('myName').value;
  var input = document.getElementById('HiddenField1');
  var method;

  var res = confirm('Are you sure to upload current month payslip data');
  if (res) {
    if(myName==1) {
      var result = confirm("Payslip Already Uploaded. Do you want to replace it?");
      if(result) {
        input.value = "upload and replace it";
        method = 'upload';
      } else {
        input.value = "file exists, do not upload";
        method = 'abort';
      }
    } else {
      input.value = "upload new file";
      method = 'upload';
    }
  } else {
    input.value = 'upload aborted';
    method = 'abort';
  }

  if ('upload' === method) {
    document.getElementById('output').innerHTML = 'Uploading...';
    return true;
  } else {
    document.getElementById('output').innerHTML = 'Failed. Upload aborted';
    return false;
  }
}

我的方法有點不同,但它會讓你達到你想要的。

cs頁面:

protected void LinkButton1_Click(object sender, EventArgs e)
    {
        if (HiddenField1.Value.Trim() == "0")
        {
            return;
        }
        qry = "select count(*) from tbl_payslip_prn_t";
        dt = con.Execute(qry);
        if (dt.Rows.Count > 0)
        {
            ClientScript.RegisterStartupScript(typeof(Page), "exampleScript", "if(confirm(\"Payslip Already Uploaded. Do you want to replace it?\")){ document.getElementById('Button1').click(); }", true);
        }
        else
        {
            //Do Some task
        }
    }  
    protected void Button1_Click(object sender, EventArgs e)
    {
        //Do Some Task    
    }

aspx頁面:

<script type="text/javascript">
        function confirm_payslip() {
            var res = confirm("Are you sure to upload current month payslip data");
            if (res) {
                //return true;
                document.getElementById("HiddenField1").value = "1";
            }
            else {

                document.getElementById("HiddenField1").value = "0";
                return;
            }
        }
    </script>
 <div>
        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="confirm_payslip();" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>

    </div>
    <div style="display:none">
     <asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click" />
     <asp:HiddenField ID="HiddenField1" runat="server" />
    </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM