2015-10-13 182 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>