2010-11-19 27 views
0

Je veux utiliser le plugin jquery-loadmask pour masquer un formulaire pendant que les données du formulaire sont transmises (j'ai utilisé AJAX pour appeler l'action qui stocke les données dans la base de données).jquery-loadmask: où devrais-je appeler unmask()?

Pour masquer le formulaire J'utilise ceci:

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

    }); 

Mais où dois-je appeler démasquer()?

Cordialement

Javi

Répondre

1

Vous devez démasquer dans votre success rappel (lorsque le serveur revient avec des données), comme ceci:

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

Ou, plus court le format $.post():

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

Ajoutez simplement un gestionnaire de succès ou d'erreur :

$.ajax({ 

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

      type: "POST", 

      data: form_data, 

succès:. (Fonction des données, textStatus, XMLHttpRequest) {$ ("form") démasquer(); }

 }); 
+0

ooh, c'est moche - mais vous obtenez l'essentiel? – WillCodeForCoffee