从asp.net的validation器获取事件到jquery状态更改

如果我的页面的validation器改变了状态,我想在jquery中触发一个事件。

这是我的用例:

  1. 在Adressform中,validation器全部被隐藏。
  2. 如果我提交表格,则会显示。
  3. 现在我想触发一个jQuery函数,它使用红色边框呈现所有行(不是输入字段,但是它们的父节点)(意味着添加一个css类)
  4. 如果我现在更改字段和validation器隐藏我还想隐藏输入的父级边框

我不希望计时器每100毫秒检查一次显示的validation器(这将完美地工作),但我只想听取validation器的显示/隐藏事件

任何想法,我如何添加一个监听器来validationvalidation器的变化事件?

关于Christoph

以下是如何从JavaScript调用.NETvalidation器:
使用JavaScript手动调用ASP.NETvalidation

您可以将上面的内容与jQuery事件或jQueryvalidation集成。

注意:此解决方案是,如果您绑定到.NETvalidation器,否则只需使用dave提到的jQueryvalidation。

你有没有看过标准的jQueryvalidation器插件 ? 我很确定它的validation器有你可以按照你描述的方式挂钩的事件。

很抱歉回答这个老问题,但我发了一篇关于修改ASP.NETvalidation器的默认javacscript评估函数的博文。 基本上它归结为:

for (var i = 0; i < window.Page_Validators.length; i++) { // Create a new property and assign the original evaluation function to it window.Page_Validators[i].baseEvaluationFunction = window.Page_Validators[i].evaluationfunction; // Set our own validation function window.Page_Validators[i].evaluationfunction = evaluateField; } 

接下来,在'evaluateField'函数中,编写代码来设置css。

 function evaluateField (validator) { // Run the original validation function var isvalid = validator.baseEvaluationFunction(validator); // Handle the result if (isvalid) { clearError(validator); } else { setError(validator); } // Return result return isvalid; } 

在setError和clearError函数中,您可以使用jquery查找父行并将css应用于它。 希望这可以帮助!