2012-02-23 16 views
1

すべて、 私はWordpressを使用していますが、私はいくつかのショートコードを使用してトグル機能を表示しています。私が使用しているテーマはミングルで、トグル機能の例は、ここで見つけることができます:あなたはショートコードをクリックすることができフィールドが表示されない場合、jQueryバリデータが機能しない

http://themeforest.net/item/mingle-multipurpose-wordpress-theme/full_screen_preview/235056

- >タブと切り替え

これは完璧に動作し、私が持っていますフォームにはいくつかのフィールドがあります。トグルが開いている場合、jQuery Validatorは正常に動作します。ただし、トグルが閉じている場合、jQueryはフィールドがあることを認識せず、値があるかどうかをチェックしません。このための回避策はありますか?

EDIT:ここでは私の現在のjQueryのです:

$("#register").validate({ 
    ignore: "", 
    rules: { 
     vendor_email: { 
      required: true, 
      email: true 
     }, 
     vendor_name: "required", 
     zip: "required", 
    }, 
    messages: { 
     vendor_email: { 
      required: "<br>Please enter an email address!<br><br>", 
      email: "<br>Please enter a valid email address!<br><br>" 
     }, 
     vendor_name: "<br>Please enter your vendor name!<br><br>", 
     zip: "<br>Please enter a zip code!<br><br>", 
    }, 
    highlight: function(element, errorClass) { 
     alert(element); 
     $(element).closest('togDesc').show(); 
     $(element).closest('toggleItem').find('.minus').removeClass('minus').addClass('plus'); 
    }); 
}); 

ハイライト部分を検証するためのエラーと何を引き起こしています。どんな考え?

ありがとうございます!

答えて

2

デフォルトでは、jQuery検証は隠しフィールドを無視します。 、

$("#form").validate({ 
    ignore: "", 
    highlight: function(element, errorClass) { 
     $(element).addClass(errorClass); 
     if(!$(element).is(":visible")) { 
      $(element).closest('togDesc').show(); 
      $(element).closest('toggleItem').find('.minus').removeClass('minus').addClass('plus'); 
     } 
    }); 
} 

ミングルでこのオープンを切り替えるための関数であり内蔵されることがあります

$("#form").validate({ 
    ignore: "", 
    ... 
}); 

それらの要素が隠されている場合は、あなたがプログラム的に彼らの親が開いて切り替えたいかもしれません:空にし、無視変更しかし、これも同様にそれを行う必要があります。

+0

ありがとうございます!それは完璧に働いた!ただし、フィールドが非表示になっている可能性があるため、追加のフォローアップは1つだけです。検証に失敗したすべてのフィールドについてアラートを発行できますか? – user1048676

+0

私の編集を参照してください。エラーがある場合は、フィールドの親を開いています。あるいは、警告コードを 'highlight'オプションコードに追加することもできます。 –

+0

提案していただきありがとうございます。私はjQueryの完全な検証コードを追加しました。ハイライトセクションを追加すると、検証はまったく行われません。 – user1048676

関連する問題