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

JavaScript Discussion :

accent javascript joomla [Encodage]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut accent javascript joomla
    Bonjour,
    J'ai un script qui tourne sur joomla et qui permet d'afficher un itinéraire sur google. Il marche sauf quand le champ départ contient un accent http://maps.google.fr/maps?f=d&hl=fr&saddr=hy%E8res pour hYères par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div align="center">
    <form action="#" name="iti">
        <b>Indiquez vos coordonn&eacute;es dans le champ &quot;d&eacute;part&quot; et calculez le trajet :<br />
        </b> D&eacute;part :   <input type="text" size="50" id="depart" name="depart" />   <br />
        Arriv&eacute;e :    <input type="text" disabled="disabled" size="50" value="toulon France" id="arrivee" name="arrivee" />   <br />
        <input type="button" onclick="window.open('http://maps.google.fr/maps?f=d&hl=fr&saddr='
    +document.getElementById('depart').value+'&daddr='+document.getElementById('arrivee').value+'&ie=UTF8&z=12&om=1','trajet','width=950,height=650,left=50,top=10,scrollbars=yes,toolbar=no,location=yes,resizable=yes'); " value="Calculer le trajet" />
    </form>
    </div>
    j'ai essayé d'enlever les accents avec ceci mais j'ai undefined dans le champ départ de google
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <script language="javascript">
    // Remplace toutes les occurences d'une chaine
    function replaceAll(str, search, repl) {
     while (str.indexOf(search) != -1)
      str = str.replace(search, repl);
     return str;
    }
     
    // Remplace les caractères accentués
    function AccentToNoAccent(str) {
     var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
    'Ì','Í','Î','Ï', 'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý',
    'Þ','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î',
    'ï','ð','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
    var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E',
    'I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y',
    'b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i',
    'i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
     for (var i = 0; i < spec.length; i++)
      str = replaceAll(str, norm[i], spec[i]);
     return str;
     }
    	var tt=document.iti.depart.value;
     
    	var noaccentdep = AccentToNoAccent(tt);
    </script>	
     
     
    <div align="center">
    <form action="#" name="iti">
        <b>Indiquez vos coordonn&eacute;es dans le champ &quot;d&eacute;part&quot; et calculez le trajet :<br />
        </b> D&eacute;part :   <input type="text" size="50" id="depart" name="depart" />   <br />
        Arriv&eacute;e :    <input type="text" disabled="disabled" size="50" value="toulon" id="arrivee" name="arrivee" />   <br />
     
       <input type="text" disabled="disabled" size="50" value="toulon" id="arrivee" name="arrivee" />   <br />    <input type="button" onclick="window.open('http://maps.google.fr/maps?f=d&hl=fr&saddr='
    +noaccentdep+'&daddr='+document.getElementById('arrivee').value+'&ie=UTF8&z=12&om=1','trajet','width=950,height=650,left=50,top=10,scrollbars=yes,toolbar=no,location=yes,resizable=yes'); " value="Calculer le trajet" />
    </form>
    </div>
    Merci
    Dernière modification par Invité ; 23/06/2010 à 17h02.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" charset="utf-8">
    + enregistre le fichier lui même en utf8 et pas en ISO
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    je suis bien embêté car je suis dans joomla 1.0.15 et je n'ai pas le choix qui est en charset=iso-8859-1. L'idéal aurait été d'enlever les accents dedocument.getElementById('depart')

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Puisque tu as un encodage obligatoire, il suffit peut-être de l'indiquer correctement à googlemaps...

    Essaye de remplacer "&ie=UTF8&" par "&ie=ISO8859&" (je viens de tester ça fonctionne)

    devyan

  5. #5
    Invité
    Invité(e)
    Par défaut
    cela ne fonctionne pas dans joomla 1.0.15, j'ai une url toujours de ce type http://maps.google.fr/maps?f=d&hl=fr&saddr=hy%E8res& et rien n'est affiché dans les champs A et B.

    dans google pour que ça marche, c'est soit sans accent ou hyères ou Hy%C3%A8res (je ne sais pas ce que c'est)

    je viens de trouver une fonction qui marche à merveille pour enlever les accents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="javascript">
    function noaccent(chaine) {
      temp = chaine.replace(/[àâä]/gi,"a")
      temp = temp.replace(/[éèêë]/gi,"e")
      temp = temp.replace(/[îï]/gi,"i")
      temp = temp.replace(/[ôö]/gi,"o")
      temp = temp.replace(/[ùûü]/gi,"u")
      return temp
    }</script>
    il suffit de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     noaccent(document.getElementById('depart').value)
    Faute que ça ne passe pas pour tout ,au moins, j'ai ça.
    Dernière modification par Invité ; 23/06/2010 à 17h38.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par tomtomtomtom Voir le message
    cela ne fonctionne pas dans joomla 1.0.15, j'ai une url toujours de ce type http://maps.google.fr/maps?f=d&hl=fr&saddr=hy%E8res& et rien n'est affiché dans les champs A et B.

    dans google pour que ça marche, c'est soit sans accent ou hyères ou Hy%C3%A8res (je ne sais pas ce que c'est)
    %C3%A8 c'est l'encodage du caractère "è" en UTF8 (C3 et A8 sont les valeurs hexadécimales des 2 octets du caractère)
    Pour un espace c'est %20

    %E8 correspond à la valeur hexadécimale du caractère "è" en ISO8859

    EDIT : Au temps pour moi, cela vient de me revenir, utilise la fonction encodeURIComponent() pour construire ton lien

    devyan

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par tomtomtomtom Voir le message
    dans google pour que ça marche, c'est soit sans accent ou hyères ou Hy%C3%A8res (je ne sais pas ce que c'est)
    C'est la même chose que Hyères, sous forme URL-encodée.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Perte des accents entre XML et javascript
    Par jejeman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/10/2008, 15h59
  2. [javascript] accents dans les message "alert&q
    Par logica dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/07/2008, 10h08
  3. jsf javascript accent
    Par thetoto52 dans le forum JSF
    Réponses: 2
    Dernier message: 11/04/2008, 11h30
  4. Réponses: 0
    Dernier message: 12/03/2008, 21h01

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