代码之家  ›  专栏  ›  技术社区  ›  tirenweb

jquery loadmask:我应该在哪里调用unmask()?

  •  0
  • tirenweb  · 技术社区  · 14 年前

    我想用 jquery-loadmask 在表单数据传输时屏蔽表单的插件(我使用AJAX调用将数据存储在db中的操作)。

    为了掩盖我使用的表单:

        $('#form').submit(function () {
    
               form_data = $.param($(this).serializeArray());
    
               $.ajax({
    
                   url: "<?php echo url_for('profile/index') ?>",
    
                   type: "POST",
    
                   data: form_data,
    
               });
    
    
               $("form").mask("Loading...");
    
    
    
               return false;
    
        });
    

    但我应该在哪里调用unmask()?

    当做

    哈维

    2 回复  |  直到 14 年前
        1
  •  1
  •   Nick Craver    14 年前

    你应该在你的 success 回调(当服务器返回数据时),如下所示:

    $.ajax({
       url: "<?php echo url_for('profile/index') ?>",
       type: "POST",
       data: form_data,
       success: function() { $("form").unmask(); }
    });
    

    或者,越短 $.post() 格式:

    $.post("<?php echo url_for('profile/index') ?>", form_data, function() {
      $("form").unmask();
    });
    
        2
  •  0
  •   WillCodeForCoffee    14 年前

    只需添加一个成功或错误处理程序:

    $.ajax({
    
               url: "<?php echo url_for('profile/index') ?>",
    
               type: "POST",
    
               data: form_data,
    

    成功:函数(data,textStatus,XMLHttpRequest){$(“form”).unmask();}

           });