0

这实际上与 ASP.NET MVC 有关。

提交表单时,将执行模型验证。如果检测到错误,错误消息将显示在<span>. 我们应该能够使用jQuery, by来掌握它$('span.field-validation-error')。但是我们应该为这个“OnCreated”绑定什么事件呢?

我已经尝试过$('span.field-validation-error').change(function (e) {$('span.field-validation-error').load(function (e) {等等。但它们都没有奏效。

那么正确的事件名称是什么?

- - 更新 - -

我们的目标是自定义显示的错误消息。例如,如果可以<span>在创建标签时对其进行编辑,我们将能够显示感叹号图标并将这些错误消息放置在工具提示中。

4

3 回答 3

1

你可以:

var checkTimer = setInterval(function() {
        if ($('span.field-validation-error').length > 0) {
            //yay :D it exists!
            alert("YEP");
            clearInterval(checkTimer);
        } else {
            //derp...    
            console.log("nope");
        }
}, 50);
setTimeout(function() {
    document.body.innerHTML = "<span class='field-validation-error'>word</span>";
}, 5000);​

示例: http:
//jsfiddle.net/neuroflux/Ynz5b/1/

[编辑]是的......它很乱,我讨厌计时器和间隔 - 但这是一种方法......

[编辑 2]检查参考如果元素存在:http ://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/

于 2012-06-07T16:23:49.803 回答
0

如果我理解正确,您真正想做的是将一些代码包装在另一个函数中,并同时调用span.field-validation-error附加到 DOM 的代码。

没有onCreated事件处理程序,也不onLoad适用于 DOM 节点。

于 2012-06-07T16:00:45.507 回答
0

不确定我是否真的会为您正在做的事情推荐这种方法,但您可以考虑挂钩到 jQuery 验证器 settings.showErrors 属性来操作错误消息,然后调用默认方法 (defaultShowErrors) 以照常显示它们。

于 2012-06-07T19:39:50.633 回答