0

jquery 検証プラグインからの応答がフォーム フィールド ボックス内に配置されるように js を作成するにはどうすればよいですか?

html フォームは次のようになります。

<form class="cmxform" id="commentForm" method="POST" action="">
<p>
 <label for="cname">Name</label>
 <input id="cname" type="text" name="name" size="60" class="required" minlength="2" />
</p>
<p>
 <label for="cemail">E-Mail</label>
 <input id="cemail" type="text" name="email" size="60"  class="required email" />
</p>
<p>
 <label for="curl">URL</label>
 <input id="curl" type="text" name="url" size="60"  class="url" value="" />
</p>
<p>
 <label for="ccomment">Your comment</label>
 <textarea id="ccomment" type="text" name="comment" cols="72" rows="8"  class="required"></textarea>
</p>
<p>
 <div id="button2"><input class="submit" id="submit_btn" type="submit" value="Send Email"/></div>
</p>
</form>

現在、js は次のようになっています。

<script>
$(document).ready(function() {
    $('#commentForm').validate({
        submitHandler: function(form) {
            $.ajax({
                type: 'POST',
                url: 'process.php',
                data: $(this).serialize(),
                success: function(returnedData) {
                    $('#commentForm').append(returnedData);
                }
            });         
            return false;
        }
    });
});
</script>

フォームフィールドの入力値内にerrorPlacementを配置するための適切なjsは何ですか? そのため、誰かが電子メールを含めなかった場合、「このフィールドは必須です」という応答が電子メールの入力値内に表示されます。現在、入力後に返されます。ありがとうございました。

4

1 に答える 1

1

検証は、errorPlacementまさにこの目的のための機能であるオプションを提供します。

jQuery UIのユーティリティを使用してこれをすばやく作成しましたposition(したがって、バージョンを機能させるにはjQuery UIを含める必要があります)。

  //in your $.validate options, add this
  errorPlacement: function(error, element) {
      error.insertAfter( element).position({
          my:'right top',
          at:'right top',
          of:element          
      });
   }  

このCSSも定義したことに注意してください。

label.error { color: red; position:absolute; }​

ここで実際の動作を確認してください:http: //jsfiddle.net/ryleyb/Z64Tv/

于 2012-03-05T16:45:19.403 に答える