Question

J'ai un message que je veux fadeIn quand un formulaire est envoyé avec succès. J'utilise le plugin jQuery forme et le code:

$(document).ready(function() {
var options = {
target: '#output',
beforeSubmit: validate,
resetForm: true
}; 
$('#holdform').ajaxForm(options);
});

La fonction validate fonctionne parfaitement si j'ai ajouté ce code avant qu'il retourne true :
(...)

$('#output').fadeIn('slow');
return true;    
}

Cela devrait fadeIn la div je sous la forme, de style comme display: none ;.
Mais ce qui se passe est que la div disparaît et puis disparaît. Quelqu'un at-il une explication et peut-être une solution pour y remédier? Merci d'avance!

Le code peut être vu dans ce action d'erreur ici: http://gadebold.dk/events/ tilmeld /

Était-ce utile?

La solution

Qu'est-ce qui se passe est que le contenu est remplacé. Vous fading dans la div #output, mais quand la réponse du serveur revient, le plugin formulaire est de mettre cette réponse dans #output parce que c'est ce que vous avez l'objectif fixé à.

Si vous ne se soucient pas de la réponse du serveur, il suffit de retirer l'option target et il ne remplacera pas son contenu, comme ceci:

$(document).ready(function() {
  var options = {
    beforeSubmit: validate,
    resetForm: true
  }; 
  $('#holdform').ajaxForm(options);
});

Voir ici pour une liste complète des options

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top