2

私がやりたいのは次のとおりです。ホバーのツールチップを示す画像があります。フィールドが検証に合格しない場合、デフォルトのエラーメッセージと画像のタイトルを新しい段落に表示したいと思います。その後、ツールチップ画像を非表示にする必要があります。次にフィールドが検証に合格すると、デフォルトのエラーメッセージが再び非表示になり(デフォルトの動作)、段落が非表示になり、ツールチップの画像が再び表示されます。

したがって、フィールドが検証に合格しない場合:
-デフォルトの検証エラーメッセージ
-ツールチップ画像のタイトル

そして、フィールドが検証に合格した場合:
-ツールチップ画像

「失敗した検証」の部分がわかりましたが、フィールドが検証に合格すると、ツールチップ画像のタイトルは引き続き表示され、ツールチップ画像は非表示になります。したがって、基本的に必要なのは、一部のフィールドが検証に合格したときの関数へのコールバックです。

これは私がこれまでに得たものです:

$(document).ready(function(){

$('form#saveform').validate({

    ignore: ":hidden",
    errorPlacement: function (error, element) {

        var error_td = element.parent('td').next('td');
        var tooltip_img = error_td.find('img.tooltip');

        error_td.append(error);
        error_td.append('<p class="notice">' + tooltip_img.attr('oldtitle') + '</p>');

        tooltip_img.hide();

    }

});

});

誰かが私がこの仕事をするのを手伝ってくれる?

4

2 に答える 2

1

検証が成功したときに、validateプラグインにコールバックがあるとは思いません。要素への/要素からのエラー強調表示を適用および削除するためのコールバックがありますが。だからあなたができることは:

$('form#saveform').validate({
  highlight: function(element, errorClass, validClass) {
    // add error, hide image
  },
  unhighlight: function(element, errorClass, validClass) {
     // remove error, show image
  }
});
于 2012-04-16T14:27:13.327 に答える
0

ああ-あなたはsuccessフックが欲しい:

$(document).ready(function(){

    $('form#saveform').validate({

        ignore: ":hidden",
        errorPlacement: function (error, element) {

            var error_td = element.parent('td').next('td');
            var tooltip_img = error_td.find('img.tooltip');
            error_td.append(error);
            error_td.append('<p class="notice">' + tooltip_img.attr('oldtitle') + '</p>');
            tooltip_img.hide();

        }
        success: function() {
            // Your success code here...
        }

    });

});
于 2012-04-16T14:15:10.630 に答える