【发布时间】:2011-01-18 11:27:59
【问题描述】:
我在一些表单元素上使用了内置的 ASP 验证器。它们工作正常 - 如果我单击提交按钮(一个按钮),验证会在没有回发的情况下发生,并且错误会显示在 ValidationSummary 中。发生这种情况时,我还想在代码隐藏中调用一个方法来更改元素的 CSS,将它们的背景颜色切换为红色以反映错误。我尝试在提交按钮中同时使用 OnClick 和 OnClientClick 调用此方法,但似乎两个参数都不会触发该方法 - 客户端验证始终具有优先权,并且永远不会发生回发。谁能赐教?
编辑#1
使用 orandovs 链接可以改变元素本身,但是它的父元素呢?
例如,在 C# 中我正在做:
foreach (BaseValidator validator in Page.Validators)
{
Panel panel = validator.Parent as Panel;
if (!validator.IsValid)
panel.CssClass = "error";
else
panel.CssClass = "normal";
}
有没有办法使用 JavaScript 获取父控件(它们都是一致的面板,所以我知道 CssClass 会存在)?比如:
$("#" + Page_Validators[i].controltovalidate.parent).CssClass("error");
【问题讨论】:
-
这里有一个类似的问题:stackoverflow.com/questions/1301508/…
标签: asp.net validation postback