IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

validation et transfert de fichier IE


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Par défaut validation et transfert de fichier IE
    Bonjour ,

    je développe une appli avec JSF, Facelets et Spring. Elle doit bien sur marcher aussi bien sous IE que sous Firefox.
    Ayant bien sur bossé sur Firefox, je tente maintenant la compatibilité sous IE. et là ça me pete les $£^ù*$ !!

    J'ai donc plusieurs problèmes:

    1- j'ai un formulaire avec un champ inputText. Quand je fais 'Enter' sur ce champ sous Firefox ça lance direct l'action de mon bouton au type 'submit' MAIS sous IE : rien, j'ai l'impresion qu'il recharge la page ou je sais pas quoi.
    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
     
    <h:inputText id="annee" value ="#{rechercheController.annee}" size='4' maxlength='4' onkeyup="javascript:verifAnnee();"/>
    <FONT COLOR="RED"><h:outputText id="anneeAlert" value=""/></FONT>
    ...
    <h:commandButton id="validButton" action="#{rechercheController.chercher}" type="submit" value="Rechercher" />
     
    ...
     
    <script language='javascript'>
    function verifAnnee() {
    	if(document.getElementById("formRecherche:annee").value=='') {
    	document.getElementById("formRecherche:anneeAlert").innerHTML="Veuillez entrer une année";
    	}else{
    	document.getElementById("formRecherche:anneeAlert").innerHTML='';
    	}
    }
     
    </script>
    2-Je fais du transfert de fichiers pdf généré à la volée. Je passe par une servlet qui met l'objet (Document itext) en session. Sous Firefox, tout se passe bien, il me demande si je veux l'enregistrer ou l'ouvrir: parfait. Sous IE soit (suivant la page de création du pdf : j'ai deux pages qui propose une création de pdf) il me dit 'le ficheir ne peut être ouvert voulez vous l'enregistrer' soit il l'ouvre direct sous Acrobat reader qui plante.A la limite la premiere attitude me convient , le problème c'est qu'IE le fait pas sur les deux pages

    3-Sur une de mes pages qui genere un pdf, au moment du clic sur le lien j'affiche un gif (permettant à l'utilisateur de comprendre qu'il se passe quelque chose), puis je lance l'action de création. Sous Firefox, bien sur tout marche nikel. Sous IE, le gif s'affiche mais n'est pas animé; le fait qu'une action soit déclencher apres le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById("waitbar").style.visibility = 'visible';
    document.getElementById('formliengenerationinscrits:linkpdf').onclick();
    bloque l'animation. Comme si IE pouvez pas afficher l'animation pendant qu'il attend le résultat de l'action : FIN NUL QUOI !!


    Alors, pouvez m'aider? j'ai cherché, je trouve aucune solution, je pete un cable là: ras le cul de cet IE de m¨%¨$ !!

  2. #2
    Membre éclairé Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Par défaut
    Bon je viens de trouver une solution pour mon 1er probleme (le submit sur la touche Enter)

    j'ajoute le javascript suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms['maform'].onkeypress =new Function("{var keycode;if (window.event) keycode = window.event.keyCode;else if (event) keycode = event.which;else return true;if (keycode == 13) { document.getElementById('maform:validButton').click();return false; } else  return true; }");
    et ça marche

    plus que 2 problemes

  3. #3
    Membre éclairé Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Par défaut
    Re

    j'ai résolu le 3em probleme.
    en fait, le gif n'est plus animé sous IE, car ce logiciel de mierda considere qu'apres le clic, on a changé de page, donc il arrête le gif.

    Aucune solution pour les gif du coup ; j'ai donc remplacé le gif par une animation flash faite avec un petit logiciel libre:
    e-anim

    et voila, le tour est joué

    Allez plus qu'un problème...

  4. #4
    Membre éclairé Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Par défaut
    bon j'ai pas résolu mon dernier probleme mais j'ai avancé.

    j'avais mis "application/octet-stream" en "content-Type" de la réponse de la servlet et :
    -soit il disait : le fichier ne peut pas être ouvert par le programme par défaut, il est endommagé ou son type n'est pas valide. Et du coup je pouvais faire enregistrer Ou Annuler
    -soit il lançait Acrobat reader et ouvrait le fichier dedans.

    J'ai testé en mettant "application/pdf" en "content-Type" de la réponse de la servlet et :
    il ouvre le fichier dans les deux cas, mais dans IE (ou firefox) sans lancer AcrobatReader. Il ouvre le fichier dans le navigateur.


    DONC : c'est bien car j'ai le meme comportement pour les deux MAIS je voudrais qu'il propose : enregistrer - ouvrir - annuler au lieu de l'ouvrir automatiquement. Comme avec un fichier excel.

    En effet je permet de téléchager aussi des fichiers excels. en type octet-stream , IE me dit : 'ouvrir - enregistrer - annuler' avec une case a cocher : 'toujours demander avant d'ouvrir ce type de fichiers'.

    Le must serait d'avoir ça avec les pdf. Je sais pas si c'est possible...

  5. #5
    Membre éclairé Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Par défaut
    bon ben j'ai résolu mon dernier problème.

    faut mettre application/force-download en 'type MIME'
    et attachment en 'Content-disposition'

    du coup; et Firefox, et IE demande ce qu'on veut faire du fichier

    je sais pas si mes 'découvertes' serviront à d'autres

    Voila...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/05/2007, 18h35
  2. transfert de fichier P2P : connexion ????
    Par Stephen54 dans le forum Développement
    Réponses: 8
    Dernier message: 11/02/2005, 00h31
  3. Transfert de fichiers par sockets
    Par Kaori dans le forum C++
    Réponses: 19
    Dernier message: 26/01/2005, 13h58
  4. Transfert de fichier par ftp
    Par schub1015 dans le forum MFC
    Réponses: 3
    Dernier message: 14/01/2004, 17h53
  5. [Socket]Transfert de fichier
    Par Aminos dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 19/04/2003, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo