0

これは実際にはASP.NETMVCに関連しています。

フォームが送信されると、モデルの検証が実行されます。エラーが検出されると、エラーメッセージがに表示されます<span>jQuery、を使用してそれを取得できるはず$('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/

[編集]はい...面倒です。タイマーと間隔が嫌いですが、これはそのための1つの方法です...

[編集2]チェックのリファレンス要素が存在する場合:http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/

于 2012-06-07T16:23:49.803 に答える
0

実際にこのアプローチを実行することをお勧めするかどうかはわかりませんが、jQueryバリデーターsettings.showErrorsプロパティにフックしてエラーメッセージを操作し、後でデフォルトのメソッド(defaultShowErrors)を呼び出して通常どおりに表示することを検討できます。

于 2012-06-07T19:39:50.633 に答える
0

私があなたを正しく理解しているなら、あなたが本当にやりたいことは、いくつかのコードを別の関数でラップし、それを同時に呼び出して、それをspan.field-validation-errorDOMに追加することです。

onCreatedイベントハンドラーはなくonLoad、DOMノードでは機能しません。

于 2012-06-07T16:00:45.507 に答える