我打算在这里回答我自己的问题-我认为这可能很难理解。我有两个复选框,其中第二个具有回发,只有在选中第一个时才应触发。这就是我写的
<asp:CheckBox ID="chkTC" runat="server" Text="I have read and accept the Terms & Conditions" /><br />
<asp:CheckBox ID="chkRegister" runat="server" AutoPostBack="true" onclick =" var bOK = document.getElementById('chkTC').checked; if (!bOK) { alert('You must agree to the Terms and Conditions'); } return bOK; " />
onclick代码是我想确定按钮是否应回发的代码的副本。
但是,即使选中了第一个复选框,第二个复选框也没有回发。
答案 0 :(得分:1)
我发现ASP.NET没有为复选框定义的'onclick'属性,但是会将提供的所有onclick代码传递给生成的HTML。但是,它也利用onclick属性实现回发。我提供的onclick代码位于执行回发的代码之前。而且因为我使用了return语句,所以它没有被执行。抱歉,这很明显-对我而言不是。
所以解决方法是仅在我不希望回发时执行退货
<asp:CheckBox ID="chkRegister" runat="server" AutoPostBack="true" onclick =" var bOK = document.getElementById('chkTC').checked; if (!bOK) { alert('You must agree to the Terms and Conditions'); return false; }" />