0

ボタンをクリックすると表示される2つの非表示のDIVを含むフォームがあり、ファンシーボックスウィンドウがポップアップします。すべての検証を行う jQuery validatorengine プラグインがあります。問題は、検証エンジンが通常のフィールドでは正常に機能するが、fancybox ウィンドウ内にある隠しフィールドが表示されると機能しないことです。これは、フォームタグの外側の要素では機能しないため、実行時にファンシーボックスが<form/>検証エンジンを失敗させるスコープの外にそれらを配置するためだと思われます。

$(document).ready(function() {  
  $("#category").validationEngine('validate');
  $('#wrapper #addCat').live('click', function() {
  $('<a href="#addCategoryDiv"/>').fancybox({
    'autoDimensions' : false,
    'hideOnContentClick' : false,
    'height' : 450,
    'width' : 500,
    'scrolling' : 'no'
    }).click();
  });
  $('#wrapper #editCat').live('click', function() {
    $('<a href="#editCategory"/>').fancybox({
      'autoDimensions' : false,
      'hideOnContentClick' : false,
      'height' : 450,
      'width' : 500,
      'scrolling' : 'no'
      }).click();
  });
});

誰かがこれを修正する方法を教えてもらえますか? ファンシーボックスがタグ<div style="display:none">の外側のコードの一部を作成したことを Firebug で確認できます。<form></form>

4

1 に答える 1

0

onComplete検証エンジンの初期化コードを fancyboxメソッドに入れる必要があります。

$('<a href="#editCategory"/>').fancybox({
                'autoDimensions'        : false,    
                'hideOnContentClick'    : false,
                'height'                : 450,
                'width'                 : 500,
                'scrolling'             : 'no'
                'onComplete'            : function(){
                                              $("#category").validationEngine('validate');   
                                          }
            }).click();
于 2012-10-18T04:12:59.400 に答える