私はまだ jQuery を学んでいますが、どのように進めたらよいかわからない問題に直面しました。
私はフォームを持っています。その中には、読み込み時に非表示になっている (「display: none」を使用) div があります。この div は、後で BlockUI プラグインを介して、特定の入力要素を編集するためのモーダル ダイアログとして表示されます。検証プラグインを使用して、必須として示したフィールドが実際にエンドユーザーによって入力されていることを確認しようとしています。
アプリの他の場所で問題なく検証プラグインを使用しましたが、ロード時に非表示になっている入力を検証するために使用するのはこれが初めてです。検証は実行されません (つまり、必須としてマークされた空のテキスト入力は、そのようにフラグ付けされず、.valid() は true を返します)。
Firebug を使用して検証ロジックを調べたところ、ダイアログ div 内の入力要素が $(this.currentForm) 内に存在しないことがわかりました。ダイアログ div を表示したままにして $.blockUI 呼び出しを削除すると、検証は期待どおりに機能します。
だから私は今問題が何であるかを知っていると思います-私の入力は元々表示されていなかったためDOMにありません。そのため、検証プラグインはそれらが存在することを認識していません。これを修正する方法がわかりません。誰でも提案できますか?ありがとう!
編集: $.blockUI() への呼び出しは、DOM からダイアログ div を削除しています。ダイアログを表示する別の方法を見つける必要があるようです。
編集:コードは独自のものであるため、投稿できません。