0

如何编写我的 js,以便将来自 jquery 验证插件的响应放置在表单字段框中?

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

Validation 提供了一个选项,该选项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 回答