Checkbox, AutoPostBack & JavaScript

C

Chris Walls

I have a CheckBox that when clicked, needs to first invoke a client-side
JavaScript function, then post back to the server. My ASP.NET code looks
like the following:

<asp:CheckBox ID="MyCheckBox" Runat="server" AutoPostBack="True"
OnCheckedChanged="OnMyCheckBoxCheckedChanged" />

I normally add JS code to a control by executing the following code in the
Page_Load method:

MyCheckBox.Attributes.Add("onclick", "DoSomethingFirst();");

However, the DoSomethingFirst() JS call is added to the generated SPAN tag
that surrounds the checkbox control, so my "DoSomethingFirst" function fires
*after* the AutoPostBack fires. How can I get my JS function to fire
*before* the AutoPostBack fires?

Thanks,
Chris
 
S

Steven Cheng[MSFT]

Hi Chris,

Thanks for your posting. As for the checkbox post back problem, it is
caused by the asp.net CheckBox control is encapsulated and we're hard to do
some additional customize. Currently if you want to add some other
clientscript before the CheckBox post back, we may have two options:

1. Manualy create a new checkBox class which derived from the asp.net's
CheckBox control and override the render method so as to insert our own
script before the build in "AutoPostBack" script (__doPostBack)

2. Use the InputCheckBox control in the System.Web.UI.HtmlControls
namespace and we can add a serverchange event for it and also handler its
clientside "onclick" script event. But we need to manually post back the
page when user click it at clientside, for example:

<input type="checkbox" id="chkClient" runat="server" value="..."
name="chkClient" onclick="alert('hello');document.forms[0].submit();"
onserverchange="chkServer_CheckedChanged">

in page's codebehind we have :

protected void chkServer_CheckedChanged(object sender, System.EventArgs e)
{
Response.Write("<br>CheckChanged at: " + DateTime.UtcNow.ToString());
}


Hope this helps. Thanks.

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
 
S

Steven Cheng[MSFT]

You're Welcome Chris,

HAPPY HOLIDAYS.

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,827
Latest member
DMUK_Beginner

Latest Threads

Top