2012-01-20 5 views
0

私はモバイルサイトに登録できるフォームを用意しています。これは、jQueryの検証プラグインを使用して、基本的なJavaScriptの検証をしています。しかし、フォーム提出スクリプトも検証を実行します。このため、エラーが検出された場合、サーバーはHTTPリダイレクトを何らかの$_GETデータとともにエラーページに送り返します。jQuery Validatorで事前定義されたエラー要素を使用させるにはどうすればよいですか?

フォームページを読み込むと、$_GETの配列に見つかったエラーは、<div class="error">のそれぞれのフィールドに出力されます。これは素晴らしいです。

jQuery validatorと私たちのPHPスクリプトはどちらも同じ検証を実行するので、エラーを同じdiv.errorフィールドに出力する必要があります。フィールドが検証されると、これも(理論的に)エラーメッセージを取り除きます。

しかし、私がerrorElement: "div"をjQueryバリデーターに変更した場合、何らかの理由でエラーが言及されなくなってしまいます。 em,labelまたはpに戻すと問題が解決します。しかし、最初の要素をそれらの要素のいずれかに変更すると、再び破損します。

jQuery検証スクリプトに組み込まれている機能である必要があります。バリデータによって作成されない限り、既存の要素にエラーは出力されません。どうすればこの問題を回避できますか?

ここで問題を示すフィドルです。errorElement: "div"を任意の種類の要素に変更すると動作します。

http://jsfiddle.net/mDvHh/

答えて

1

例えば、代わりにerrorElementハンドラのerrorPlacementを上書き:

errorPlacement: function(error, element) { 
     element.next(".error").html(error); 
    }, 

またyour updated jsfiddleを参照してください。

+0

ああ、完璧!ありがとう –

関連する問題