从asp.net的validation器获取事件到jquery状态更改
如果我的页面的validation器改变了状态,我想在jquery中触发一个事件。
这是我的用例:
- 在Adressform中,validation器全部被隐藏。
- 如果我提交表格,则会显示。
- 现在我想触发一个jQuery函数,它使用红色边框呈现所有行(不是输入字段,但是它们的父节点)(意味着添加一个css类)
- 如果我现在更改字段和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应用于它。 希望这可以帮助!