单击复选框时如何显示确认消息

时间:2015-04-13 14:43:13

标签: c# asp.net

我希望能够在点击asp.net checkbox时显示确认消息,我尝试使用:

OnClientClick = "return confirm('Are you sure you want to logout?')"

它没有报告错误,但没有工作,我后来发现asp.net复选框没有OnClientClick属性。

我还做了一些谷歌的研究仍然无法实现!请问有谁知道怎么做?提前谢谢。

5 个答案:

答案 0 :(得分:3)

经过大量研究后,我能够实现这一点,以下是答案,以便面对同一问题的其他用户可以使用它:

OnClick="if(!confirm('Are you sure you want to sign out?'))return false;"
这对我来说很有效。

答案 1 :(得分:0)

你可以看看这里

Checkbox check confirmation message.

您可以通过使用javascript来检查复选框的count

如下所示

 if (chkCount === 0) {
    alert("You do not have any selected files to delete.");
    return false;
} else {
    return confirm("Are you sure you want to proceed deleting the selected   files?");
}

希望有所帮助

答案 2 :(得分:0)

因为你在下面没有提到的是jquery

  $(document).ready(function() {
        $('#yourelemntid_as_enderedHtml').change(function() {
            if ($(this).prop('checked')) {
                alert("Are you sure you want to logout."); //checked
            }
            else {
                alert("text here"); //not checked
            }
        });
    });

你最好在EndprocessRequest()上调用它以及asp松散这个脚本

在c#中

 <asp:CheckBox ID="chkgen" runat="server" Checked='<%# Eval("col3") %>'  
        OnCheckedChanged="chkgen_OnCheckedChanged"/>

protected void chkgen_OnCheckedChanged(object sender, EventArgs e)
{
      int selRowIndex = ((GridViewRow)(((CheckBox)sender).Parent.Parent)).RowIndex;
      CheckBox cb = (CheckBox)gridView.Rows[selRowIndex].FindControl("chkgen");

      if (cb.Checked)
      {
             //Perform your logic
      }
}

答案 3 :(得分:0)

您可以在asp:复选框中使用onchange,如下所示 -

<asp:CheckBox Text="check this out" runat="server" onchange="return confirm('Are you sure you want to logout?');" />

如果您设置了autopostback = true,则会回发。

问题在于它适用于每次更改 - 无论是选中还是取消选中,为了减轻这种影响,您可以像这样使用它。

<asp:CheckBox Text="check this out" runat="server" onchange="return Confirmation(this);" />

function Confirmation(element)
{
    if(element.checked) // so that only for checked case, this will execute.
         return confirm('Are you sure you want to logout?');
    else
         return false;
}

答案 4 :(得分:0)

您可以为所有复选框分配功能,然后在其中要求确认。如果他们选择yes,则允许更改复选框,否则保持不变。

在我的情况下,我还使用带有 Autopostback="True" 属性的 ASP .Net 复选框,因此在服务器端我需要比较提交的值与当前在 db 中的值,以便知道他们选择了什么确认值并更新 db仅当它是“是”时。

    $(document).ready(function () {
        $('input[type=checkbox]').click(function(){                
            var areYouSure = confirm('Are you sure you want make this change?');
            if (areYouSure) {
                $(this).prop('checked', this.checked);
            } else {
                $(this).prop('checked', !this.checked);
            }
        });
    });