2012-04-16 24 views
2

私がしたいことは次のとおりです。私は、ホバー上のツールチップを示す画像を持っています。フィールドが検証に合格しなかった場合は、デフォルトのエラーメッセージと画像のタイトルを新しい段落に表示したいと思います。ツールヒントイメージが表示されなくなります。フィールドが検証をパスすると、デフォルトのエラーメッセージが再び非表示になり(デフォルトの動作)、段落を非表示にして、ツールチップイメージを再度表示する必要があります。だから、jQueryの検証:デフォルトの要素以外のカスタム要素の表示/非表示

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

そしてフィールドが検証に合格しない:
- ツールチップの画像

私は'検証に失敗しました'という部分が見つかりましたが、フィールドが検証に合格すると、ツールチップイメージのタイトルは引き続き表示され、ツールチップイメージは非表示になります。ですから、私が基本的に必要とするのは、あるフィールドがバリデーションをパスするときの関数へのコールバックです。

$(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(); 

    } 

}); 

}); 

誰も私がこの作品を作るのに役立ちます。

これは私がこれまで持っているものでしょうか?

$(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... 
     } 

    }); 

}); 
+2

私たちをjsFiddleにリンクするか、関連するHTMLコードをここに貼り付けることはできますか?要素の選択に間違いが見つかった場合、今すぐエラーを見つけることは不可能です。 – BenjaminRH

+0

こんにちはベンジャミン、あなたの返事をありがとう。このコードは機能しません。私が追加したいのは、フィールドが有効なものとしてマークされたときに関数を呼び出すメソッドです。ここで正しい要素を表示/非表示にします。上記のコードはツールチップイメージを隠し、特定のフォームフィールドの横の列にエラーとイメージのタイトルを表示します。私は上記のコードではまだ捕捉されていない '有効な部分'を修正する必要があります。 – ev8

答えて

1

検証が成功したとき、私は検証プラグインがコールバックを持っているだろうとは思わない: -

+0

rucsiありがとう、私はあなたが提供した方法で動作するようになった。 – ev8

0

ああ、あなたはsuccessフックをしたいです。それは要素への/要素からのエラー強調表示の適用と削除のコールバックを持っていますが。 あなたができることは次のとおりです。

$('form#saveform').validate({ 
    highlight: function(element, errorClass, validClass) { 
    // add error, hide image 
    }, 
    unhighlight: function(element, errorClass, validClass) { 
    // remove error, show image 
    } 
}); 
+0

私は確かにそれを試みましたが、成功フックを作成するとすぐに、成功関数が空の場合でも、すべての必須フィールド(有効または無効!)で空のエラーメッセージが表示されます。 。 – ev8

関連する問題