Aller au contenu

Sujets conseillés

Posté

Bonjour le Hub,

Je rencontre un probleme pour récuperer un <select> en javascript

je m'explique...

Je voudrais ajouter un bouton de previsualisaation d'un message...

pour ce faire je pense que le mieux est d'utiliser javscript...

je ne rencontre pas de souci pour recuperer les valeurs de mes <input> mais pas moyen de récuperer la valeur d'un <select>

function affichage() {
FenetreAffichage = window.open('Visu','NouvelleFenetre', 'toolbar=no,status=no,width=300,height=200')
FenetreAffichage.document.write("Visualisation de votre article");
FenetreAffichage.document.write("<br><br><b>Categorie : </b>" + this.cat.options.selectedIndex.value);
FenetreAffichage.document.write("<br><b>Titre : </b>" + document.article.titre.value);
FenetreAffichage.document.write("<br><b>Sous titre : </b>" + document.article.ss_titre.value);
FenetreAffichage.document.write("<br><b>Article : </b>" + document.corps.value);
FenetreAffichage.document.write("<br>");
}

ca fais un bon paquet de temps que je cherche et je ne trouve pas...

Merci

Posté

Salut,

si tu appelles sel l'élément correspondant à ton "select",

sel = document.getElementById('LeBonId');

il suffit d'ecrire ce qui suit:

LaSelection=sel.options[sel.selectedIndex].value;

Normalement, c'est OK...

En espérant que cela fonctionne! ;)

Posté

alors j'ai fait ca

function affichage() {
FenetreAffichage = window.open('','NouvelleFenetre', 'toolbar=no,status=no,width=300,height=200')
cat=document.getElementById('cat');
categorie=cat.options[cat.selectedIndex].value;
FenetreAffichage.document.write("Visualisation de votre article");
FenetreAffichage.document.write("<br><br><b>Categorie : </b>" + categorie);
FenetreAffichage.document.write("<br><b>Titre : </b>" + document.article.titre.value);
FenetreAffichage.document.write("<br><b>Sous titre : </b>" + document.article.ss_titre.value);
FenetreAffichage.document.write("<br><b>Article : </b>" + document.corps.value);
FenetreAffichage.document.write("<br>");
}

maius ca ne marche pas....

Posté

Salut,

Si tu n'ecris pour l'instant que :

function affichage() {
FenetreAffichage = window.open('','NouvelleFenetre', 'toolbar=no,status=no,width=300,height=200')
cat=document.getElementById('cat');
categorie=cat.options[cat.selectedIndex].value;
FenetreAffichage.document.write("Visualisation de votre article");
FenetreAffichage.document.write("<br><br><b>Categorie : </b>" + categorie);
}

Cela fonctionne?

Essaie de trouver plus précisément quelle ligne fait vraiment bugger ton script...ça sera plus simple pour ceux qui veulent t'aider! Pour cela, ajoute les lignes les unes après les autres pour savoir laquelle fait vraiment défaut...

Posté

j'ai tester, c'est quand je rajoute la recuperation du select que ca bug...

je cherche un peu partout mais je ne trouve pas la solution...

Posté

Salut,

Tu pourrais me montrer comment tu as écrit ton select dans ce fichier???

Ca doit être un truc du genre :

<label>Catégorie
<select name='cat' id='cat' >
<option value=1>cat1</option>
<option value=2>cat2</option>
<option value=3>cat3</option>
</select>
</label>

Faut bien mettre l'id dans la balise select. Et il faut que ce soit le seul élément dont l'id soit 'cat'...

Posté

arf... c'est peut etre ca alors je n'ai pas mis d'id sur mon select...

je fais un test et je reviens vers toi

merci

ok c'est bon ca fonctionne...

merci et désoler de t'avoir fais perdre ton temps...

encore merci

Posté

j'ai vu que tu avais mis un post poour l'attribut 'escape'...

je cherche a faire a peu pres la meme chose mais en recuperant la mise en forme du texte, c'est a dire les caractere en gras, les souligné, les liens, etc...

est-ce que tu saius comment on peut faire ca ??

Posté (modifié)

Salut

merci et désoler de t'avoir fais perdre ton temps...

C'est un peu le principe d'un forum... Je perds un peu de temps mais j'en gagne énormément de l'autre côté... et puis des erreurs de ce type, t'es pas le premier à en faire (j'en ai fait pas mal avant toi ;) )

C'est de l'Ajax que tu veux faire??? parce que j'utilise escape pour mettre des variables dans l'URL dans ce but...

Modifié par Bourinho
Posté

de l'ajax, non je ne crois pas, je veux juste récuperer les balises '<b>...</b>', <p>...</p> pour que dans la preview du message tout soit bien mis en forme...

alors si il faut passer par de l'ajax je ne suis pas contre, mais comme précédement dit, je cherche partout et je ne trouve pas la fonction qui permette de faire ca....

Posté

Re... ;)

Tu veux les mettre en GET ces variables qui contiennent les balises <b>, <p> et j'en passe???

Si c'est le cas, tu n'as qu'à utiliser "escape" (en javascript) pour mettre ta variable dans l'URL et "urldecode" (en php) dans la page qui suit... c'est marrant, y a un topic en parallèle qui parle du même sujet...enfin je crois, sauf si je suis à côté de la plaque! ;)

A+

Posté

euh non je veux les mettre en 'post' car je risque d'avoir des textes assez long et donc de les faire passer par l'URL ca ne va pas aller...

Posté (modifié)

Je ne suis pas sur de ce que je vais te dire...donc, il te faudra attendre l'avis de personnes plus expertes que moi...

Mais, d'après moi, il faut passer par un formulaire pour passer des variables en POST... (j'en suis quasiment sur!)

Il faudrait que t'arrives à mettre ta page sous forme d'un formulaire...le seul problème que tu peux rencontrer, c'est la nécessité d'avoir un bouton de type 'submit'... car pour le reste, tu peux passer ces variables en dans des champs placés en 'hidden' via javascript...

Mais, comme je viens de te le dire, attend la validation d'une personne plus qualifiée que moi (la date à laquelle je me suis inscrit (écrite juste à gauche) correspond au début de mon intérêt pour le développement de site web... alors j'ai pas encore beaucoup de recul ;) )

A+

Modifié par Bourinho
Posté

et bien je suis a peu pres comme toi, ca fait peu de temps que je me suis mis au web.

pour repondre a ta question je suis deja dans un formulaire, mais j'arrive tout de meme pas a recuperer les balises de mise en forme... mais comme j'aime pas laisser tomber je vais chercher et je vais trouver...

merci

Posté (modifié)

OK...je crois avoir compris ton problème!!!

Ces balises (comme <b>, <p> etc...) sont visiblement interprétées!!! Il faut remplacer les < et les > par leur équivalent en HTML que tu peux trouver ici : le lien

Remplace ainsi tous les caractères que tu rencontres dans ce tableau par ce qui est appelé le "code texte"...et ça devrait fonctionner!!!

En php, au lieu d'afficher directement

$Chaine

, affiche

htmlentities($Chaine,ENT_QUOTES)

Ca fait exactement ce que je viens de te décrire!

Modifié par Bourinho
Posté

Salut,

Je donnais mon exemple en PHP parce que c'est le langage que j'utilise le plus...

Je pense qu'il existe aussi une fonction htmlentities en javascript... mais je n'ai jamais eu a l'utiliser... peut etre a creuser...

A+

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...