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 :

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;
		}
	});
 
 
}
J'interprète la valeur renvoyée par verif.php.
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.

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;		
 
}
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.
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