Hook JScript Client Events to Server Controls

piferdj

Newcomer
Joined
May 2, 2004
Messages
1
Hello,

Fooling around with ASP.Net and wanted to know if this is possible...I wanted to attach a client event to a ASP:Checkbox control. I got this to work by adding this line of code to the Sub Page_Load

Code:
chkBoxProduct.Attributes.Add("OnClick", "testFunction();")

This function just displays an alert box that says the basic 'Hello World!'

That is fine...I got this to work when I ran the WebForm1.aspx page however, this is what I can not get to work let's say I change the JavaScript function that is in between the <HEAD> tags on the HTML page to have a parameter and for simplicity want to show the name of the checkbox I am checking.

Code:
function testFunction(chkBox)
{
   alert(chkBox.Name);
}

Here is the code from the WebForm1.aspx page

Code:
<asp:CheckBox ID="chkBoxProduct" OnClick="testFunction(this)" Runat="server"></asp:CheckBox>

and then I try to do this in the Sub Page_Load

Code:
chkBoxProduct.Attributes.Add("OnClick", "testFunction(chkBox);")

When I run the program and click on the checkbox I get 'chkBox is undefined'. So can I only add attributes to the controls that take no parameters?

Thanks for the help.
Dave Pifer
 
Hey,
try passing the id of the control and then using form.getElementById(id) or something like that. I can't remember the exact syntax, but you get the idea.

another thing - why are you passing 'chkbox' when adding the attribute?
-lp
 
I think
chkBoxProduct.Attributes.Add("OnClick", "testFunction(this);")
would work..

or maybe use the ASP-generated ClientId property (chkBoxProduct.ClientId) as the parameter to testFunction?
 
Back
Top