首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX Jquery评论表单响应

问AJAX Jquery评论表单响应
EN

Stack Overflow用户
提问于 2012-02-27 23:00:35
回答 1查看 904关注 0票数 0

我正在使用jquery验证插件创建一个弹出式jquery ajax评论表单。为什么ajax对评论字段和姓名和电子邮件字段的工作方式不同?当用户开始在comment字段中键入内容时,ajax响应"this field is required“将被删除。我希望这也发生在name和email字段中,但它们会一直保留到用户单击submit。如何让姓名和电子邮件字段的行为类似于注释字段?

下面是控制事件的js:

代码语言:javascript
复制
  <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>

html表单的配置如下:

代码语言:javascript
复制
<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>

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-12 06:07:45

我利用jQuery中的errorPlacement函数解决了这个问题。没有为这些元素指定errorPlacement导致了我的js中的冲突。

以下是我解决问题的方法:

代码语言:javascript
复制
$('#commentForm').validate({
    submitHandler: function(form) {
        $.ajax({
            type: 'POST',
            url: 'process.php',
            data: $(this).serialize(),
            success: function(returnedData) {
                $('#commentForm').append(returnedData);
            }

        });
        return false;
    },
    errorPlacement: function(error, element) {
        error.insertAfter(element).position({
            my: 'right top',
            at: 'right top',
            of: element
        });
        error.fadeOut(3000);
    },
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9467171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档