Bonjour,
Je saisi un formulaire et une fois validé (submit) , il appelle une fonction J.S qui
1- Affiche un message "Enregistrement créée" durant 5 "
2- Rappelle le même script pour réafficher le formulaire de saisie
Au départ, j'avais juste mis la 1ère action (affichage du msg) qui fonctionne parfaitement qui affiche bien le message pendant le temps indiqué .
MAIS dès que j'ai rajouté la seconde action (Rappel du même script) , je n'ai eu à peine le temps de voir s'afficher le message... c'est comme si la 2ème action démarrait alors que la 1ère n'était pas encore terminée (C'est ce que j'en ai déduit ??).
J'ai regardé pas mal sur le Net pour tenter de trouver une solution, on parle souvent de callback (retour de fonction) mais je ne sais pas comment l'implanter ds mon code, (Dois je rajouter une fonction (avec callback) pour chaque action sous la fonction (data) ??).
J'ai vu une autre solution avec .trigger() mais je n'ai pas tout compris....;-)) .
Je vois ai joint un extrait du code.
Merci bcp pour votre aide !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <script type='text/javascript'> $(document).ready(function(){ $("form.formulaire").submit(function(e){ e.preventDefault(); $.post( 'ajout2.php', { num : $("#num").val(), titre : $("#titre").val(), genre : $("#Genre").val(), duree : $("#duree").val(), annee : $("#annee").val() }, function(data) { if ('succes' == data.trim()) { document.getElementById('msgfoot').style.visibility = "visible"; setTimeout( function() { var oMsg = document.getElementById("msgfoot"); oMsg.style.visibility = "hidden"; }, 5000); // Redirection vers la meme page (les champs à vide (a saisir de nouveau) window.location.replace("ajout1.php"); } else{ console.log("ERROR"); } }, 'text' ); }); }); </script>
Partager