Jump to content
Sign in to follow this  
gontran

recuperation <select> en javascript

Recommended Posts

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

Share this post


Link to post
Share on other sites

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! ;)

Share this post


Link to post
Share on other sites

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....

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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'...

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 ??

Share this post


Link to post
Share on other sites

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...

Edited by Bourinho

Share this post


Link to post
Share on other sites

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....

Share this post


Link to post
Share on other sites

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+

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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+

Edited by Bourinho

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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!

Edited by Bourinho

Share this post


Link to post
Share on other sites

le probleme est que ma preview ce fais dans un fichier '.js' et donc pas moyen de mettre du php dedans....

Share this post


Link to post
Share on other sites

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+

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...