如何使用$ .ajax提交触发validationEngine?

时间:2012-03-26 10:00:17

标签: jquery ajax validation

我正在使用内联函数提交表单,但它没有调用我的验证脚本,我想知道是否有人能指出我正确的答案方向?

我的按钮:

<a href="javascript:UpdateEnquiry();" id="continue_btn" class="btnSprite">Save</a>

我的功能:

function UpdateEnquiry() {

$.ajax({
  url: 'test.php',
  dataType: 'xml',
  timeout: 15000,
  type: 'post',
  data: $('#validate').serialize(),
  success: UpdateEnquirySuccess,
  error: function (result) {parent.$.fancybox.close();}
  });
}

我想在提交之前初始化jquery validationEngine插件。 http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

非常感谢任何帮助。

亲切的问候 拉结

2 个答案:

答案 0 :(得分:4)

假设您的验证引擎已初始化,请在执行ajax请求之前调用validate方法。如果该方法返回true,则继续:

function UpdateEnquiry() {
    if ( $(yourForm).validationEngine('validate') ) {
        $.ajax({
            ...
        });
    }
    else {
        // The form didn't validate
    }

    return false; // Prevents default action from happening
}

答案 1 :(得分:4)

$('#registerform').submit(function(e) {
                e.preventDefault();
                var vars = $("#registerform").serialize();

                if ($("#registerform").validationEngine('validate')) {

                    $.ajax({
                            url:"sample.php"
                    });

                }
            });

没有停止默认操作我正在重定向到我的表单操作页面。所以不得不使用preventdefault()。 @mgibsonbr我的坏