Um per JavaScript in ASP.NET auf eine Checkbox zuzugreifen und deren Checked-Status abzurufen, kann man sich unterschiedlicher Syntax bedienen. Es ist jedoch zu beachten, dass Browser wie der IE oder der FF unterschiedlich reagieren können. Im schlechtesten Fall ignoriert der Browser den Code komplett, wenn es darum geht, über die ClientID auf das Control zuzugreifen.
Mir ist das im u.g. Codeschnippsel zum Thema Custom Validation einer CheckBox passiert. Mit "document.all" hat sich zwar der IE zufrieden gegeben, im FF hingegen hat die entsprechende Codezeile nicht funktioniert. Anders mit "$get". Diese Syntax verstehen beide Browser.
<asp:CheckBox
ID="cbxTermsLoggedIn"
runat="server"
ValidationGroup="grpvalB2BLoggedInRegistration" />
<script language="javascript" type="text/javascript">
function ClientValidationCbxTermsLoggedIn(source, args)
{
//use:
var cbx = $get('<%=cbxTermsLoggedIn.ClientID %>');
args.IsValid = cbx.checked;
//instead of:
//args.IsValid = document.all["<%=cbxTermsLoggedIn.ClientID %>"].checked;
}
</script>
<asp:CustomValidator
ID="cstmvalB2BRegistrationTermsLoggedIn"
runat="server"
SetFocusOnError="true"
Display="Dynamic"
ErrorMessage="Sie müssen der Speicherung zustimmen"
ClientValidationFunction="ClientValidationCbxTermsLoggedIn"
ValidationGroup="grpvalB2BLoggedInRegistration"
ValidateEmptyText="True" />