【问题标题】:Performing both client side and server side functions on button click - Specific Scenario在按钮单击时执行客户端和服务器端功能 - 特定场景
【发布时间】:2013-09-08 01:46:02
【问题描述】:

我有一个复选框、标签和按钮控件。 如果未选中复选框并单击按钮,我需要在标签中显示一条消息,说明首先选中复选框。 如果选中复选框然后单击按钮,它应该允许我继续。

这与条款和条件屏幕非常相似,如果您不选中复选框 - 您将无法继续。

我正在使用下面的 javascript。请告诉我如何实现此功能?

<script type="text/javascript">
function testCheckbox() {
    var obj = document.getElementById('<%= chkTerms.ClientID %>');
    if (obj.checked == false) {
        document.getElementById("lblCheck").style.visibility = "visible";
        return false;
    }
}
</script>
<asp:Label ID="lblTerms" runat="server" Text="I agree to the Terms and Conditions">   </asp:Label>

<asp:Label ID="lblCheck" runat="server" Text="Please agree to the terms and conditions to proceed"></asp:Label>

<asp:Button ID="btnProceed" runat="server" OnClientClick ="return testCheckbox()"   OnClick="btnProceed_Click" Text="Submit" />

【问题讨论】:

  • 在上面的代码中你有 2 个标签和 1 个按钮

标签: c# javascript asp.net checkbox


【解决方案1】:

ASPX:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#lblCheck').hide();
        $('#btnProceed').click(function () {
            var $this = $('#chkTerms')

            if ($this.is(':checked')) {
                $('#lblCheck').hide();
                return true;
            } else {
                $('#lblCheck').show();
                return false;
            }
        });
    });
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:CheckBox ID="chkTerms" runat="server" Text="I agree to the Terms and Conditions"/><br />
<asp:Label ID="lblCheck" runat="server" Text="Please agree to the terms and conditions to proceed"/><br />
<asp:Button ID="btnProceed" runat="server" Text="Submit" onclick="btnProceed_Click1" />
</form>
</body>
</html>

后面的代码:

protected void btnProceed_Click1(object sender, EventArgs e)
{
    Response.Write("DD");
    //your proceed
}

【讨论】:

  • 谢谢@Samiey Mehdi。我尝试使用您提供的较早的解决方案,将标签的启用视图状态属性设置为 false,但它没有按预期工作。让我试试你现在提供的 jquery。
  • 它不工作@Samiey。在页面加载时,它会显示标签文本 - 请同意条款和条件以继续
  • 页面加载是我猜的问题。不知何故,我们需要使文本不可见。
  • 它工作得非常顺利。你是个冠军。我需要弄脏 jquery...谢谢@Samiey Mehdi
猜你喜欢
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-16
  • 2022-11-06
  • 2014-03-15
相关资源
最近更新 更多