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

AJAX Discussion :

[AJAX] Comportement formulaire IE/Firefox


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut [AJAX] Comportement formulaire IE/Firefox
    Bonjour à tous,

    Je galère depuis deux jours je m'en remet à ceux qui en connaissent plus que moi, il vaut mieux un qui sait que trois qui cherchent !

    J'ai un formulaire que je valide en ajax, j'ai utilisé jQuery et ca donne à peu près ca :

    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
     
    <script type="text/javascript">
    function envoyerFormulaireRI() {
      $.post(
        "/specific/jsp/RIAjax.jsp", 
        {PAYS: $("#PAYS").val()}, 
        function(html) { $("#t_res").html(html); }
      )};); 
    </script>
    <form action="" onSubmit="envoyerFormulaireRI();return false;" method="post">
     <select id="PAYS" name="PAYS">
         <option value="%">S&eacute;lectionnez dans la liste</option>
         <option value="%">Tous</option>
         <option value="Afrique du Sud">Afrique du Sud</option>
         <option value="Alg&eacute;rie">Algérie</option>
         <option value="Alg&eacute;rie">Algérie</option>
    </select>
    <form>
    bon en gros l'idée c'est de valider mon formulaire en Ajax et d'envoyer ma requete post vers la page RIAjax.jsp qui exécutera une requete SQL dns ma base et me renverra le contenu à afficher dans le div qui porte l'id "t_res".

    Mon problème c'est que tout marche bien sous Firefox. Et du coup je ne me suis pas rendu compte que ca ne marche pas pour IE quand il y a des accents dans le Pays...

    Par exemple pour l'Algérie (j'ai essayé de mettre en code ASCII en en html entities mais c'est pareil) ca ne renvoie rien, et si j'essaie d'afficher la requete au dessus de mon résultat, je me rends compte que "Algérie" se transforme en "Algérie"
    Par contre, si je logue la requete au lieu de l'afficher et que je consulte ca depuis mon terminal, ca affiche bien Algérie !!

    Visiblement c'est le $("#PAYS").val() qui renvoie pas la même chose entre les navigateurs

    Je deviens chèvre !

    Merci à vous si vous y comprenez quelque chose !!
    Arnaud

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Tu as un problème d'encodage de tes données. Tu renvoies de l'UTF-8 et il est interprété en local en ISO-8859-1. Et comme en UTF-8 un "é" est codé sur 2 octets, tu vois apparaitre à la place "é".

    Tu dois veiller à la cohérence des encodages des données que tu manipules:
    quel est l'encodage de ta page et quel est l'encodage des données de ta base ? Et quel encodage pour RIAjax.jsp ?


    ERE

  3. #3
    Membre confirmé Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Bonjour et merci pour la réponse

    Ce fut mon premier réflexe d'aller vérifier les encodages mais la base et mes fichers jsp comme mes servlets sont tous en latin1... Je ne vois vraiment pas ce que vient faire ce simili unicode au beau milieu de tout ça !

    Il y a trois choses qui me chagrinent :

    - En validation "à l'ancienne" avec un submit qui recharge toute la page directement, ca marche très bien !

    - Ca marche même si je fais le traitement du formulaire dans ma jsp qui fait un appel en post avec HttpMethod et qui récupère le résultat pour le réafficher (en gros la même chose que ce que fait jQuery mais en java) --> La preuve que mes encodages n'y sont pour rien non ?

    - Sous firefox pas de souci

    Je songe sérieusement à revenir à un traitement de mon formulaire en bon vieux post qui a le mérite d'être bien homogène lui !!

    Merci de votre aide
    Arno

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Si cela peut te rassurer tu n'es pas le seul à voir ce souci d'encodage avec JQuery ...

    EDIT
    -----
    Même si je pense que JQuery n'y est pour rien, le souci provenant plutôt de IE... Je l'imagine bien forcer un retour en UTF-8...


    As tu pu regarder via Firebug (version IE) ou autre la réponse à ta requête AJAX (encodage renvoyé par le server, ...) ?

    ERE

  5. #5
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Et question toute bête, as tu essayé de sauvegarder ta JSP en UTF8 ? Si cela se trouve cela règle tes problèmes !


    ERE

  6. #6
    Membre confirmé Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Salut ! Merci à toi et désolé pour le silence... ce problème m'a tellement fait perdre de temps que je l'avais mis de côté pour un moment le temps d'écluser un peu d'autres taches urgente...
    Pour le moment, je suis resté en validation POST classique sur tous les navigateurs sauf Mozilla.
    L'encodage ne change rien, j'ai essayé de mettre ma JSP et ma servlet en UTF8 mais non ca ne regle pas le problème
    J'ai vu que ce problème était assez répandu en fait, mais personne n'a de solution ?? c'est fou quand même

  7. #7
    Membre confirmé Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut Eureka !!
    Enfin, j'ai trouvé !!
    C'est bien un problème d'encodage (évidemment) mais au niveau de l'envoi du formulaire... et sur ce point il n'y a que Firefox qui ait sa petite spécificité, lui seul envoi directement le content type qui convient bien

    pour les autre navigateurs, la ligne suivante ne jquery règle le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=UTF-8"});
    Et voili

    Merci encore pour l'aide et bonne journée

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

Discussions similaires

  1. [AJAX] Submit Formulaire
    Par Azanael dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 29/07/2008, 12h31
  2. drole de comportement formulaire sous firefox
    Par reventlov dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/06/2008, 10h49
  3. [AJAX] Ajax et formulaire
    Par Mimi Bulles dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/05/2006, 15h17
  4. [AJAX] Ajax et formulaire
    Par Mimi Bulles dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/05/2006, 12h44
  5. Comportement inattendu de Firefox
    Par reggae dans le forum Firefox
    Réponses: 3
    Dernier message: 08/05/2006, 21h15

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