Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript [ JavaScript et le navigateur / Fonctionnement d'une propriété d'un navigateur ] (figogo)

mercredi 14 février 2007 à 18:31:34 | Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

figogo

Bonjour à tous,


Mon site internet traite de caractères chinois (http://caractereschinois.free.fr) et j'ai des problèmes à afficher ces caractères dans des objets créés automatiquement par du javascript.

Au début j'utilisais innerHTML et tout allait bien. J'ajoutais le code comprenant l'objet OPTION directement dans le html de l'objet LIST et il était interprété comme il fallait.

list.innerHTML = '<option>&#25248;</option>';

Manque de pot, ça marche nickel avec Firefox, Safari et konqueror mais je me suis aperçu la semaine dernière que IE ne voulait rien savoir.

J'ai donc opté pour une méthode plus propre de création de mes options :

var newOption = new Option('&#25248;', 0);
list.options[0] = newOption;


Et là rien ne va plus, tout est interprété directement comme du texte et je vois donc afficher &#25248; et non le caractère lui-même( ? ).

Comment puis-je faire ?

Je suis pour l'instant en train d'opter pour une solution intermédiaire qui fonctionne avec firefox et toujours pas avec IE en faisant :


var newOption = new Option('', 0);
newOption.innserHTML = '&#25248;';
list.options[0] = newOption;

Merci d'avance,

figogo

PS : La valeur que je veux mettre dans mon option est en réalité une longue chaîne de données avec moult &#??; à l'intérieur, j'aimerai éviter de faire du travail dessus puisque je ne veux qu'afficher du html en html, puis éventuellement le relire.


mercredi 14 février 2007 à 20:34:06 | Re : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

astuces_jeux

par exemple si tu veux mettre " é " dans tes pages tu mets &eacute; par exemple si tu veux écrire " Créer " tu mets " Cr&eacute;er " pour " ' " tu mets &acute; par exemple l'envie c'est l&acute;envie ok ???


mercredi 14 février 2007 à 20:38:32 | Re : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

nightlord666

Membre Club
Ca ne serait pas plus simple d'enregistrer ton document HTML ou ton fichier JS en encodage unicode, et d'écrire directement tes caractères chinois dedans à la place des &#xxxx; incompréhensibles ?


Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.

mercredi 14 février 2007 à 22:12:21 | Re : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

figogo

Bonjour astuces_jeux,
Merci pour ta réponse mais justement tu ne fais qu'illustrer mon problème, j'utilise bien les raccourcis &???; mais il se trouvent qu'ils ne sont pas interprétés dans le cas particulier que je décris dans mon exemple (pas interprété avec IE j'entends).

nightlord666,
j'essaie d'éviter d'utiliser les caractères chinois directement parce que l'affichage des raccourcis &???; est en général mieux géré que l'unicode vu qu'ils ne dépendent pas de l'encodage de la page (le seul problème vient du fait que je modifie le html en javascript et qu'IE ne le réinterprète pas dans ce cas précis).

Je tiens à préciser que par exemple je n'ai aucun problème à faire cette manipulation à l'intérieur d'un objet TD (objetTd.innerHTML = "&#" + unicodeValue + ";"; fonctionne avec IE, firefox et compagnie). Mon problème vient sans doute de l'imbrication d'objet (ajouter un enfant créé en javascript) ou de la méthode de création (utiliser nez) mais je ne sais pas vraiment.

Si je n'ai vraiment aucune solution je m'en remettrai à l'unicode mais je ne comprends toujours pas pourquoi ce que je fais ne serait pas permis avec IE.

Merci pour votre aide en tout cas,

Figogo

mercredi 14 février 2007 à 22:30:45 | Re : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

nightlord666

Membre Club
De toute façon, quand tu fait en général un site qui utilise des caractères étrangers, il est plus sage de mettre tout ce que tu a en unicode (pages HTML, scripts, ...), comme ça ça te permet de gérer plus facilement tout ça.

Et en plus c'est logiquement plus rapide à l'affichage si tout est dans le même encodage (car les &#xxxx; vont de toute façon charger les polices unicode...).


Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.

vendredi 16 février 2007 à 17:41:27 | Re : Ecrire des caractères spéciaux dans un objet OPTION créé en javascript

figogo

Mon problème vient du fait que ce que j'affiche dans les <option> a été généré en php et php ne gère pas très bien l'unicode. Du coup j'initialise mes variables js (créée à partir du php) avec du code html qui peut être compliqué.

Pour tout le reste le html est correctement interprété sauf là, et personne ne semble savoir pourquoi.

:(



Cette discussion est classé dans : objet, option, caractères, list, newoption


Répondre à ce message

Sujets en rapport avec ce message

select, option, plantage ie. [ par Bichon63 ] Bonjourvoila mon soucis : je me sers d'une pop up pour mettre à jour un select dans une autre fenetre. dans cette pop up je créé mon javascript à part ajout dynamique d'une option dans un select [ par durand2504 ] bonjour,je souhaite ajouter dynamiquement une option  dans une liste déroulante, au lancement de la page, à partir des informations contenue dans un t Ajouter une option à une "select list" grâce à une "textbox" [ par psykouz ] Bonjour,comment faire pour ajouter ce qui est écris dans une textbox à une lise ?Voici un bout de mon code:< Formulaire et options - Ça fonctionne pas.. [ par isarennt ] Bonjour! J'ai un problème de code... lorsque je créé dynamiquement des options, je n'arrive pas à mettre un message d'erreur (soit une image, dans le Numéro de ligne et de colonne dans u tableau [ par MGD ] Bonjour,Pour calculer la distance entre la position de la souris et les bords d'une cellule de tableau, j'ai besoin de calculer la position de cette c Parcourir les attributs d'un objet/balise [ par sikove ] Salut comment parcourir les attirbuts d'un objet ou d'une balise ( frame par ex ) ? j'ai réussi à parcourir les proprietés et les methodes mais pas le Problème setTimeout et poo - valeur qui ne change pas (au secours...) [ par 0Philooz0 ] Bonjour,J'ai un problème ( depuis maintenant deux jours ) avec le bout de code suivant:///Portion de code qui pose problème.fun Erreur "Objet Attendu" [ par mocbidouille ] Bonjour,J'ai un souci qui va me rendre dingue... J'ai cherché la solution tout l'aprem en vain... Ma page me renvoi constament une erreur "Objet Atten problème caractères spéciaux [ par webide ] Bonjour,J'essaie de mettre en place un texte sur un site seulement je dois codifié en caractères spéciaux au lieu de pouvoir utiliser les caractères n setTimeout [ par DarkCid ] Bonjour,j'essaye de créer mon objet compte à rebours pour mon site. pour l'instant, j'ai ceci :function Timer(){   var time         = '';        var c


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.