2013-10-23 29 views
0

我有一個按鈕,當點擊它時,我必須生成一個帶有「確定」「取消」按鈕的警報框。我曾經做過這樣的,上的.aspx腳本,如何在代碼後面的按鈕點擊時調用警報框?

<script> 

    function getConfirmationValue2() 
    {var confirm_value = document.createElement("INPUT"); 
     confirm_value.type = "hidden"; 
     confirm_value.name = "confirm_value2"; 
     if (confirm("Save??")) { 
      confirm_value.value = "OK"; 
     } else { 
      confirm_value.value = "CANCEL"; 
     } 
     document.forms[0].appendChild(confirm_value); 
    } </script> 

     <asp:ImageButton ID="btn_submit" runat="server" ImageUrl="~/images/BtnSubmit.png" CausesValidation="true"  
        onclick="btn_submit_click"/> 

上按一下按鈕,

protected void btn_submit_click(object sender, ImageClickEventArgs e) 
{ 
         if(TextBox1.Text="start") 
         { 
         btn_submit.OnClientClick = @"return getConfirmationValue2();"; 
         string confirmValue122 = Request.Form["confirm_value2"]; 

         if (confirmValue122 == "OK") 
         { 
          //updating the datas 
          } 

         }}} 

按鈕點擊兩次時,只產生警告框。會有什麼問題?

回答

0

你需要將它綁定在按鍵的標記像按鈕

<asp:ImageButton ID="btn_submit" 
    runat="server" 
    ImageUrl="~/images/BtnSubmit.png" 
    CausesValidation="true" 
    OnClientClick = "return getConfirmationValue2();" <== Added code here 
    onclick="btn_submit_click"/> 

它只按鈕點擊兩次時產生的警告框OnClientClick = "return getConfirmationValue2();"

標記。會有什麼問題?

OnClientClick當您第一次點擊時會被綁定,因此您沒有獲得第一次點擊的提示框。

如果你想register它的代碼隱藏,我會建議你使用Control.Init事件或Page_Load事件

+0

我知道的OnClientClick =「返回getConfirmationValue2();」這將工作。但是我們必須把它放在代碼背後。有沒有其他辦法? – ARATHY

+0

@ARATHY,如果你想在CodeBehind註冊它,我建議你使用Control.Init事件或者Page_Load事件 – Satpal

+0

但是它是如何完成的?我必須檢查一個條件,並且只有在需要生成警報框之後。而不是在即時按鈕點擊 – ARATHY

相關問題