2012-01-19 28 views
1

jQuery 1.7.1、jQuery検証プラグイン(http://docs.jquery.com/Plugins/Validation)1.9.0、jQuery SimpleModalプラグイン(http://www.ericmmartin.com/projects/simplemodal/)1.4.2とjQuery qTip2(http://craigsworks.com/projects/qtip2/)。jQuery検証プラグインはjQuery SimpleModalプラグインで動作しません。

私はモーダルダイアログボックスで開く必要があるいくつかのフォームがあります。検証は、モーダルダイアログボックスが初めて開かれたときに機能します。ただし、ダイアログボックスを閉じて再度開くと、検証は再度実行されません。

SimpleModalプラグインのonShowコールバックを使用してフォームの検証を行います(ページロード時だけでなく、モーダルボックスが作成されるたびに適用されます)。

デモはhttp://jsfiddle.net/NVvFh/22/を参照してください。

私は、SimpleModalでpersist:trueを試したことに注意してください。それは他の問題を引き起こす。

モーダルダイアログボックスを使用するたびに検証が有効になるよう助けてください。

+0

これは、プラグインの作成者が提供してくれた参考になりました(http://stackoverflow.com/a/3516838/1576269)。 – Owlvark

答えて

0
jQuery(document).ready(function() { 
    jQuery(".formLink").click(function() { 
     jQuery("#formContainer").modal({ 
      containerId: "form-container", 
      dataId: "form-data", 
      onShow: function() { 
       attachFormValidations(); 
      }, 
      opacity: 60, 
      overlayClose: true, 
      overlayId: "form-overlay", 
     }); 
    }); 
    //attachFormValidations(); Remove this line 
}); 
+0

ありがとう!私は早くそれを試みたが、何とかしなかった。今はとても気分が悪いです。 :) – manish

+0

これはすべての条件下で動作しているようです。私は2つのフォームを含むようにサンプルを修正し、バリデーションは再び機能しなくなりました。新しいサンプルはhttp://jsfiddle.net/NVvFh/35/です。どのような考えにも感謝します。 – manish

+0

http://jsfiddle.net/NVvFh/36/あなたのフィールドには検証プラグインが動作するために必要な 'name'属性がありません。 – dfsq

関連する問題