2010-03-17 5 views
0

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:jQuery fadeIn échoue avec jqQuery formulaire-plugin

$(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 vrai:
(...)

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

Cela devrait se fondre dans le div que j'ai sous le formulaire, dénommé comme display: none ;.
Mais ce qui se passe, c'est que la div se fane et disparaît ensuite. 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/

Répondre

1

Ce qui se passe est que le contenu est remplacé. Vous êtes dans le div #output, mais lorsque la réponse du serveur revient, le plugin de formulaire met cette réponse dans #output parce que c'est ce que vous avez défini la cible.

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

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

See here for a full list of options

+0

encore nouveau à la façon dont tous ces plug-ins travailler, mais cela m'a juste fait un pas de plus dans la bonne direction! Merci beaucoup – VoodooBurger