按钮字段确认点击不'不起作用

ButtonField confirmation click doesn't work

本文关键字:不起作用 字段 确认 按钮      更新时间:2023-09-26

我试图在拍摄动作之前显示一个确认框。

aspx文件中有我的代码:

javascript

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
        $(".alterarStatus").click(function () {
            return confirm('Tem certeza que deseja alterar o status?');
        });
      </script>

按钮字段:

  <Columns>
            <asp:ButtonField ControlStyle-CssClass="alterarStatus" Text="Status" CommandName="atender" ButtonType="Button"/>
      </Columns>
    </asp:GridView>

但确认框从未出现

有生成的HTML

http://pastebin.com/1vwReChK

编辑:

正在射击并且在之前没有出现警报的功能

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string commandname = e.CommandName;
            if (commandname.Equals("atender"))
            {
//I want to show an alert before execute this action
         }
}

不能同时具有src和内容的<script>标记,请创建两个脚本标记,它应该可以工作。也可以尝试将其包装在document ready:中

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
    $(function() {  //equivalient of $(document).ready(function() {
        $(".alterarStatus").click(function () {
            return confirm('Tem certeza que deseja alterar o status?');
        });
    });
</script>

来源:https://stackoverflow.com/a/29414108/526704

我认为ButtonField是在用runat="server"创建按钮,所以当你按下它们时,它会返回。尝试将其创建为具有<input type="button" class="alterarStatus" >TemplateField

您可以在生成的html中看到,您正在使用onclick=__doPostBack()s获得输入,这将阻止javascript启动,因为它正在返回。

<input type="button" value="Status" onclick="javascript:__doPostBack(&#39;GridView1&#39;,&#39;atender$4&#39;)" class="alterarStatus" />

<asp:TemplateColumn>
   <ItemTemplate>
      <input type="button" class="alterarStatus" value="Alterar Status" />
   </ItemTemplate>
<asp:TemplateColumn>

您的代码的主要问题是,您正在调用javascript代码一个脚本中的plugin是错误的。

应该是这样的:-

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
 <script type="text/javascript">
    $(function () { 
        $(".alterarStatus").click(function () {
            alert('Tem certeza que deseja alterar o status?');
        });
    });
</script>
<columns>
            <asp:ButtonField ControlStyle-CssClass="alterarStatus" Text="Status" CommandName="atender" ButtonType="Button"/>
      </columns>
</GridView>

希望它能帮助