M
mark4asp
Here is the control:
<asp:CheckBox ID="chkLite" runat="server" Checked="False"
AutoPostBack="True" OnCheckedChanged="chkLite_CheckedChanged" />
Here is the code-behind:
chkLite.Attributes.Add("onblur", "LiteChange(this);");
Here is the control as asp.net renders it in the html:
<span onblur="LiteChange(this);"><input id="_ctl0_cph_chkLite"
type="checkbox" name="_ctl0:cph:chkLite" checked="checked"
onclick="javascript:setTimeout('__doPostBack(\'_ctl0$cph$chkLite\',\'\')
', 0)" language="javascript" /></span>
The problem with this is that the onblur event is not fired because the
parent span does not notice when chkLite is checked or unchecked. The
javascript LiteChange() function never fires.
Is there a way I can get this (below) in my html:
<input id="_ctl0_cph_chkLite" type="checkbox" name="_ctl0:cph:chkLite"
checked="checked"
onclick="javascript:setTimeout('__doPostBack(\'_ctl0$cph$chkLite\',\'\')
', 0)" onblur="LiteChange(this);" language="javascript" />
In other words, attach the onblur event directly to the checkbox?
The javascript is below (it's just there as a demonstration, currently
functionally inactive, as you can see).
function LiteChange(oSpan)
{
if(oSpan.children[0].checked)
alert('chkLite is checked');
else
alert('chkLite not checked');
alert('hello');
}
<asp:CheckBox ID="chkLite" runat="server" Checked="False"
AutoPostBack="True" OnCheckedChanged="chkLite_CheckedChanged" />
Here is the code-behind:
chkLite.Attributes.Add("onblur", "LiteChange(this);");
Here is the control as asp.net renders it in the html:
<span onblur="LiteChange(this);"><input id="_ctl0_cph_chkLite"
type="checkbox" name="_ctl0:cph:chkLite" checked="checked"
onclick="javascript:setTimeout('__doPostBack(\'_ctl0$cph$chkLite\',\'\')
', 0)" language="javascript" /></span>
The problem with this is that the onblur event is not fired because the
parent span does not notice when chkLite is checked or unchecked. The
javascript LiteChange() function never fires.
Is there a way I can get this (below) in my html:
<input id="_ctl0_cph_chkLite" type="checkbox" name="_ctl0:cph:chkLite"
checked="checked"
onclick="javascript:setTimeout('__doPostBack(\'_ctl0$cph$chkLite\',\'\')
', 0)" onblur="LiteChange(this);" language="javascript" />
In other words, attach the onblur event directly to the checkbox?
The javascript is below (it's just there as a demonstration, currently
functionally inactive, as you can see).
function LiteChange(oSpan)
{
if(oSpan.children[0].checked)
alert('chkLite is checked');
else
alert('chkLite not checked');
alert('hello');
}