Adding custom client-side onClick handler with client-side validator controls

Z

Zoe Hart

I know that I can use a control's Attributes collection to specify
client-side event handlers. I want to add a simple javascript function to
pop up a confirmation message for a command button. The problem is that the
page uses several client-side field validators so ASP.NET is already using
the control's onClick event to call the validation logic. Is it possible to
have a custom client-side handler when you're using the validator controls?
The only way I've managed it in the past is to turn off client-side
validation for the page, but I'd rather not do that in this situation where
I'm making more extensive use of the client-side validators.

Thanks,
Zoe
 
S

Scott Wisniewski

The key is to add your code to the onClick event handler. You can acheive
this using the "new Function" syntax in JavaScript. This is an example of
something called a "higher order function" which is a function whose return
value is yet another function. Here is the JavaScript that will enable this:

function AddEventHandler (func, body) {
if (func != null)
return new Function(body + ';' + func.toString());
else
return new Function(body);
}

function AddOnClickEventHandler (ctrl, body) {
ctrl.onclick = AddEventHandler(ctrl.onclick, body);
}
 

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

Top