Bouton OnClick Javascript

Résolu
clawangel -  
clawangel Messages postés 5 Statut Membre -
Bonjour,

Je sollicite votre aide. Je n'ai aucune idée d'où vient le problème.

J'ai créer un bouton sur lequel on clique et on a un fichier csv qui est proposé en téléchargement.
ça fonctionne très bien sur ma base en local.

Par contre sur mon serveur en production, ça ne fonctionne pas sous Internet Explorer. (mais ça fonctionne sous Firefox ou Safari).


<input type="button" name="csv" value="Export CSV" OnClick="window.location.href=\'fonctions/fonction.csv.php\'">




J'ai le message suivant : "internet explorer ne peut pas télécharger fonction.csv.php"

J'ai testé : OnClick="window.open(\'fonctions/fonction.csv.php\')" mais j'ai le même message.

Ce que je ne comprend pas c'est que ça fonctionne sous Firefox et Safari.
Et sous IE ça fonctionne sur mon serveur web local mais pas en production.

Quelqu'un a t-il une idée ?

Merci pour votre aide.

5 réponses

bloodchecker Messages postés 361 Statut Membre 35
 
Peut être JS est désactivé sous ton IE en prod ?
1
clawangel Messages postés 5 Statut Membre
 
J'ai développé mon application en local avec xampp sur une station winXP.
Mon serveur web en production est sur une distribution linux/debian.

J'ai vérifié tout est activé sur IE.
0
bloodchecker Messages postés 361 Statut Membre 35
 
Ca ne viens pas du serveur puisque tu y accède à partir de FF. essaie depuis ton bureau (si tu as accès au réseau de prod) voir si ca vient de la version d'IE ?
0
clawangel Messages postés 5 Statut Membre
 
Entre IE7 et IE8 j'ai le même message d'erreur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clawangel Messages postés 5 Statut Membre
 
En fait, il faut un header spécifique pour IE. ça ne vient pas du bouton onclick mais de mon fichier fonction.csv.php.

Voilà la solution :

/* Propose le telechargement */	
header("Content-Type: text/csv");
header("Content-disposition: attachement; filename=export.csv");

//header specifique IE parce que sinon il aime pas
if(preg_match('/msie|(microsoft internet explorer)/i', $_SERVER['HTTP_USER_AGENT'])){
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
}else{
  header('Pragma: no-cache');
}
0