1

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

我的代码如下所示:

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

我根据表单中的选择使用几个按钮(使用它们的点击功能)调用验证,通常禁用一些规则:

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

我无法弄清楚 blockui 和 unblockui 调用的位置,以便当用户单击按钮时,在验证开始之前,blockui 会发挥作用,如果验证发现问题,则会调用 unblockui 并再次启用表单.

我对 Jquery 还很陌生,找不到任何能够成功实现的示例。我将不胜感激任何人都可以提供的帮助(如果之前已经介绍过,请原谅)。

4

1 回答 1

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();
    });
});

整理了一个页面来演示一个带有验证、blockui 和动态规则的工作表单。

于 2010-03-09T10:30:33.327 回答