Javascript 单击复选框时防止自动回发

Javascript 单击复选框时防止自动回发,javascript,c#,asp.net,Javascript,C#,Asp.net,我的网页上有一个复选框和一个“继续”按钮。如果用户选中该复选框,则我希望在服务器上进行回发,否则我希望留在页面上: <input data-theme="a" id="field_UseAdvancedSearch" type="checkbox" data-iconpos="left" runat="server" id="chkAgree" /> <a

我的网页上有一个复选框和一个“继续”按钮。如果用户选中该复选框,则我希望在服务器上进行回发,否则我希望留在页面上:

<input data-theme="a"  id="field_UseAdvancedSearch" type="checkbox" data-iconpos="left" runat="server" id="chkAgree" />
 <asp:Button ID="btnContinue" runat="server" Text="Continue" data-icon="arrow-r" OnClick="btnContinue_Click" /></div>

如果用户单击“继续”按钮,则我希望他们转到下一页,否则他们需要停留在同一页上。如果用户未选中复选框或未选中复选框,则应禁用“继续”按钮,我不希望在单击“继续”按钮时出现任何回发


非常感谢您的帮助。

为此,您应该有条件地使用OnClientClick属性。因此,对于此修复,您应该在
标记内使用jquery函数,如下所示:

    <script>
function myFunction()
    {
        if ($('#field_UseAdvancedSearch').is(":checked")){
           return true;
        }
        else if ($('#field_UseAdvancedSearch').is(":not(:checked)")){
            return false;
        }
}</script>
<asp:Button ID="btnContinue" runat="server" Text="Continue" data-icon="arrow-r" OnClick="btnContinue_Click" OnClientClick="myFunction();" />

函数myFunction()
{
如果($('#字段_UseAdvancedSearch')。为(“:选中”)){
返回true;
}
else if($('#字段_UseAdvancedSearch')。为(“:not(:checked)”){
返回false;
}
}
并按如下按钮进行呼叫:

    <script>
function myFunction()
    {
        if ($('#field_UseAdvancedSearch').is(":checked")){
           return true;
        }
        else if ($('#field_UseAdvancedSearch').is(":not(:checked)")){
            return false;
        }
}</script>
<asp:Button ID="btnContinue" runat="server" Text="Continue" data-icon="arrow-r" OnClick="btnContinue_Click" OnClientClick="myFunction();" />

在这里,我们使用jQuery检查复选框是否被选中,并基于此返回。如果复选框被选中,则用户可以回发按钮,否则用户将无法回发


希望这有帮助。

为此,您应该有条件地使用OnClientClick属性。因此,对于此修复,您应该在
标记内使用jquery函数,如下所示:

    <script>
function myFunction()
    {
        if ($('#field_UseAdvancedSearch').is(":checked")){
           return true;
        }
        else if ($('#field_UseAdvancedSearch').is(":not(:checked)")){
            return false;
        }
}</script>
<asp:Button ID="btnContinue" runat="server" Text="Continue" data-icon="arrow-r" OnClick="btnContinue_Click" OnClientClick="myFunction();" />

函数myFunction()
{
如果($('#字段_UseAdvancedSearch')。为(“:选中”)){
返回true;
}
else if($('#字段_UseAdvancedSearch')。为(“:not(:checked)”){
返回false;
}
}
并按如下按钮进行呼叫:

    <script>
function myFunction()
    {
        if ($('#field_UseAdvancedSearch').is(":checked")){
           return true;
        }
        else if ($('#field_UseAdvancedSearch').is(":not(:checked)")){
            return false;
        }
}</script>
<asp:Button ID="btnContinue" runat="server" Text="Continue" data-icon="arrow-r" OnClick="btnContinue_Click" OnClientClick="myFunction();" />

在这里,我们使用jQuery检查复选框是否被选中,并基于此返回。如果复选框被选中,则用户可以回发按钮,否则用户将无法回发


希望这有帮助。

这称为“验证”。WebForms已经成功了。您不希望只进行客户端验证,因为这很容易规避。这称为“验证”。WebForms已经成功了。您不希望只执行客户端验证,因为这很容易规避。在服务器上进行验证也很重要,否则用户可以绕过限制。当前问题是针对自动回发问题。此处未提及必需的字段验证器,因此我们可以将其用于实际方法,因为验证器用于显示错误消息。我只想确保OP知道,如果有人有动机这样做,仅客户端验证不会阻止他们进入下一页。在服务器上进行验证也很重要,否则将无法进入下一页用户可以绕过此限制。当前问题用于自动回发问题。此处未提及必填字段验证器,因此我们可以将其用于实际方法,因为验证器用于显示错误消息。我只想确保OP知道,如果有人有动机这样做,仅客户端验证不会阻止他们进入下一页。