Interprétation de valeur + window.location
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:
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:
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