I'm using the built-in ASP validators on a few form elements. They work fine - if I click the submit button (a Button), validation occurs without postback and errors are displayed in a ValidationSummary. When that occurs, I also want to call a method in codebehind which changes the CSS of elements, switching their background color to red to reflect errors. I've tried to call this method using both OnClick and OnClientClick in the submit Button, but neither parameter seems to fire the method - client-side validation always takes priority, and a postback never occurs. Can anyone enlighten me?
EDIT #1
Using orandovs link worked alright for changing the element itself, but how about its parent?
For example, in C# I'm doing:
foreach (BaseValidator validator in Page.Validators)
{
Panel panel = validator.Parent as Panel;
if (!validator.IsValid)
panel.CssClass = "error";
else
panel.CssClass = "normal";
}
Is there a way to get the parent control (which are all consistently Panels, so I know CssClass will exist) using JavaScript? Something like:
$("#" + Page_Validators[i].controltovalidate.parent).CssClass("error");