Bonjour,
J'ai un petit problème concernant IE concernant le téléchargement d'un fichier .exe, suite au remplissage d'un formulaire.
Voici le code :
J'interprète la valeur renvoyée par verif.php.
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 function boite_mail() { var k = $('myform').serialize(true); var url = '/verif.php'; new Ajax.Updater('resultat', url, { method: 'post', parameters:k, contentType: 'application/x-www-form-urlencoded', onComplete: function(transport) { var reponse = $('resultat').innerHTML; if(reponse == 1) alert(erreur_1); else if(reponse == 2) alert(erreur_2); else if(reponse == 3) window.location = download_link; } }); }
Si 1 > Erreur
Si 2 > Erreur
Si 3 > On lance la fonction "window.location = download_link;" qui va permettre de télécharger le .exe
Quand je place les 3 conditions dans onComplete, le window.location me demande sous IE de confirmer le téléchargement pour ma sécurité. Ce que je ne souhaite pas.
Et étrangement, quand je place les 3 conditions sous new Ajax.Updater, la boite de téléchargement se fait comme il faut (donc c'est parfait), mais la valeur $('resultat').innerHTML; n'est pas à jour, et prend systématiquement la valeur de l'élément avant le clique.
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 function boite_mail() { var k = $('myform').serialize(true); var url = '/verif.php'; new Ajax.Updater('resultat', url, { method: 'post', parameters:k, contentType: 'application/x-www-form-urlencoded', onComplete: function(transport) {} }); var reponse = $('resultat').innerHTML; if(reponse == 1) alert(erreur_1); else if(reponse == 2) alert(erreur_2); else if(reponse == 3) window.location = download_link; }
Ex: premier clique, il considère que l'élément est vide, le second, ça passe.
Alors j'aimerai savoir comment mettre à jour la valeur de l'élément (ici resultat) $('resultat').innerHTML; juste après un onComplete.
Merci,
Florent
Partager