2

我有 2 个不同的脚本,一个是jquery post for form,第二个是jquery form validation

我在提交按钮单击操作时运行发布脚本,因此它在验证之前生效:/并且我无法将验证更改为在发布脚本之前运行:(所以现在它在没有验证的情况下提交。

怎么可能做到?感谢帮助!


jQuery POST 代码

$(function() {

  $("#btnsend").click(function() {

        var dataString = 'fullname='+ escape(document.contact.full_name.value);
        $.ajax({
          type: "POST",
          url: "query.php?act=sendMail",
          data: dataString,
          success: function() {

            $('#contact-form').hide()
                      .html("<p>thanks!</p>")
                              .fadeIn(500, function() {$('#contact-form').append("");});
           } 

        });

        return false;
    });

});

jQuery 验证

感谢插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/

<!-- Form Validation -->
<script src="inc/validation/jquery.validate.js" type="text/javascript"></script>
<script src="inc/validation/js/cmxforms.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="inc/validation/css/validation.css" media="screen" />

<script type="text/javascript">
$(document).ready(function() {
    $("#commentForm").validate();
});
</script>  

形式

<form id="commentForm" name="contact" method="post" action="">
    <ul id="contact-form">
        <li><label for="full_name">Full Name: *</label><input type="text" name="full_name" id="full_name" class="txt_input required" /></li>
        <li class="alignRight"><input type="submit" value="Send" id="btnsend" name="btnsend" class="btn_submit" /></li>
    </ul>
</form>
4

1 回答 1

2
$("#commentForm").validate( {
   submitHandler: function(form) {
      // validation success, do something
   }
});

从成功函数回调中调用您的 ajax 提交。

检查:http ://docs.jquery.com/Plugins/Validation/validate了解更多信息(我假设我们谈论的是同一个插件)。

于 2009-09-28T13:56:08.097 回答