2015-10-13 242 views
0

我有這樣的代碼裏面的GridView:ASP按鈕點擊確認

<asp:TemplateField > 
<ItemTemplate> 
<input type="button" id="Button98" 
    usesubmitbehavior="true" 
    Text="pavadinimas" 
    onclientclick="ConfirmOnDelete()" 
    onclick="location.href='SMSReport.aspx?data=<%#Eval("data")%>&amp;db=1'" 
    /> 
    <script type="text/javascript" language="javascript"> 
     function ConfirmOnDelete() 
     { 
      if (confirm("Are you sure?")==true) 
      return true; 
      else 
      return false; 
     } 
    </script> 
</ItemTemplate> 
</asp:TemplateField> 

我不知道爲什麼,但部分的OnClientClick不工作。我正在尋找和嘗試許多解決方案,但非工作。任何想法如何添加點擊檢查?

+0

您的輸入不是服務器端控件,所以沒有onclientclick和onclick,只有onclick發生在客戶端。你想驗證,然後執行location.href代碼嗎?如果是這樣,將它們合併成一個函數 – Andrei

+0

@Andrei你能更具體地說明如何做到這一點嗎?或者,也許你可以給一些代碼示例? – Macb3th

+0

Shaminder在下面提供了一個很好的答案,他對腳本標籤的描述不夠清楚。我在那裏添加了一條評論,這應該可以解決您的問題 – Andrei

回答

1

OnClientClick只適用於asp服務器按鈕控件(System.Web.UI.WebControls),但是您使用的是html按鈕控件,因此需要單獨放置您的javascript代碼,這意味着將您的腳本標記放在GridView控件之外。試試下面的代碼:

<asp:TemplateField > 
     <ItemTemplate> 
     <input type="button" id="Button98" 
      Text="pavadinimas" value="delete" 
      onclick="ConfirmOnDelete('<%#Eval("data")%>');" 
      /> 

    </ItemTemplate> 
    </asp:TemplateField> 

      <script type="text/javascript" language="javascript"> 
       function ConfirmOnDelete(para) 
       { 
        if (confirm("Are you sure?")==true) 
        location.href='SMSReport.aspx?data=' + para + '&amp;db=1'; 
        else 
        return false; 
       } 
      </script> 
+0

此代碼沒有任何反應。 – Macb3th

+0

嘗試更新後的代碼 –

+0

現在我收到Error: ''解析器錯誤消息:System.Web.UI.WebControls.DataControlFieldCollection必須具有'System.Web.UI.WebControls.DataControlField'類型的項目。 '腳本'的類型是'System.Web.UI.HtmlControls.HtmlGenericControl'。'' – Macb3th

0

上週我有相同的問題,

你的asp.net按鈕應該有一個的OnClientClick =「DoValidation();單擊事件分配是和thenin你的js文件你應該有

asp.button

<asp:Button ID="btnSave" CssClass="btn btn-primary" OnClientClick="DoValidation()" runat="server" Text="Search" Height="36px" /> 

的JavaScript

function DoValidation(parameter) { 

//your validation code here 

if (valid == true) { 
    __doPostBack('btnSave', parameter); 
    } 
} 
+0

但OP沒有asp按鈕,只有簡單的html輸入按鈕 –

1
<form id="form1" runat="server">  
    <input type="button" id="btn_11" runat="server" onclick="ConfirmOnDelete(); location.href = 'http://www.google.com'" /> 
    <script type="text/javascript" language="javascript"> 
     function ConfirmOnDelete() { 
      if (confirm("Are you sure?") == true) 
       return true; 
      else 
       return false; 
     } 
    </script>   
</form>