jquery-loadmask: где я должен вызывать unmask ()? - PullRequest
0 голосов
/ 19 ноября 2010

Я хочу использовать плагин jquery-loadmask для маскировки формы во время передачи данных формы (я использовал AJAX для вызова действия, которое хранит данные в БД).

Чтобы замаскировать форму, я использую это:

    $('#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 ]

1 голос
/ 19 ноября 2010

Вы должны снять маску в вашем 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();
});
0 голосов
/ 19 ноября 2010

Просто добавьте обработчик успеха или ошибки:

$.ajax({

           url: "<?php echo url_for('profile/index') ?>",

           type: "POST",

           data: form_data,

success: function (data, textStatus, XMLHttpRequest) {$ ("форма"). Unmask (); }

       });
...