0

私のページには、3 つのステップで記入されるフォームがあります。各ステップのフィールドは、そのステップの要素をグループ化する div に含まれています。ユーザーが次のステップに移動すると、その div を非表示にして次の div を表示します。最後のステップの後、ユーザーはデータを確認して送信します。この時点で、検証が開始され、(すべてのステップの) フォーム内のすべてのフィールドが検証されます。

フローティング qTips を使用して、検証に失敗したフィールドにエラー コメントを表示しています。私の問題は、失敗したフィールドが表示されていないときにヒントがめちゃくちゃな位置に表示され、表示されると画面全体が正しい位置にジャンプすることです。

質問: フィールドが表示されている場合にのみ qTip を表示し、表示されていない場合に非表示にするにはどうすればよいですか?

生成された qTip には内部要素があるhtmlFor="name-of-field"ため、それを使用して各 qTip をその生成フィールドに関連付けることができると思います。しかし、各ステップ div が非表示/表示されているときに、フィールドで非表示/表示するにはどうすればよいですか?

4

1 に答える 1

0

今日これを見つけた

 $(el).qtip({events: {
 show: function (event, api) {
      if (api.elements.target.is(':hidden')) {
           event.preventDefault();
          }
     }});

これは私のために働いた。親アイテムの可視性を確認し、それに応じてショーイベントを停止することを決定します。Qtip2は、このようにキャンセル可能なイベントをいくつか提供します。

こちらのドキュメントをご覧ください:http://craigsworks.com/projects/qtip2/docs/api/events/

于 2012-06-01T15:11:06.767 に答える