与jQuery验证器插件一起调用blockUI和unblockUI

时间:2010-02-27 05:39:57

标签: jquery validation blockui

我有一个非常复杂的表单,验证工作正常。但是,由于完成验证可能需要一段时间,因此当我单击表单的提交按钮以防止混淆和双重提交时,我想使用blockUI进行调用。我无法弄清楚如何做到这一点。

我的代码如下所示:

$("#credential").validate({
     rules: {
              EngId: {
                 required: true
                 }
             ClientAccount: {
                 required: true
                 }
              ...
        }

我正在使用几个按钮(使用他们的点击功能)调用验证,具体取决于表单中的选择,通常会禁用某些规则:

$("#buttonname").click(function() {
   $("#fieldname").rules("remove");
   ...
   $("#credential").submit();
});

我无法弄清楚的是blockui和unblockui调用会在哪里进行,以便当用户单击按钮时,在验证开始之前,blockui会发挥其魔力,如果验证发现问题,则调用unblockui并启用形式再次。

我对Jquery很新,我找不到任何我能够成功实现的例子。我将不胜感激任何人都可以给予的任何帮助(请原谅,如果之前已经涵盖的话)。

1 个答案:

答案 0 :(得分:0)

$(document).ready(function() {
    $('#form1').validate({
        rules: {
            fieldone: { required: true },
            fieldtwo: { required: true }
        },
        submitHandler: function(form) {
            $(form).block();
            form.submit();
        }
    });

    $('input:checkbox[name=toggleone]').click(function() {
        if ($(this).is(':checked')) {
            $('input[name=fieldone]').rules('add', { required: true });
        } else {
            $('input[name=fieldone]').rules('remove');
        }
    });

    $('#altsubmit').click(function() {
        $('input[name=fieldtwo]').rules('remove');
        $('#form1').submit();
    });
});

put together a page演示包含验证,阻止和动态规则的工作表单。