Page 1 sur 1

comment faire un affichage un fonction d'une sélection ?

Posté : 26 janv. 2009, 14:56
par Tohru222
Bonjour,

j'ai un truc simple à faire, mais ce que je trouve sur internet ne correspond pas.

j'ai 2 boutons radios ( "F" et "M")

et je voudrais que sur la sélection de "F" une liste déroulante apparaisse, et sur la sélection de "M", la liste déroulante disparaisse.

j'utilise php. et d'parès ce que j'ai pu voir, dans ce cas je suis obligé d'utiliser javascipt !?

merci

Posté : 26 janv. 2009, 15:37
par AB
Pas nécessairement mais ce serait plus convivial pour le visiteur.

Sans javascript il faudra qu'il clique sur un des boutons radio puis qu'il soumette le formulaire et en fonction du résultat récupéré tu peux faire apparaître ou disparaître ta liste déroulante.

Avec javascript tu pourrais faire apparaître ou disparaître la liste dès le clic sur un bouton radio, sans avoir à soumettre le formulaire.

L'idéal étant de faire simultanément les deux avec le bouton de soumission qui n'apparaîtra que si js est désactivé. Ainsi le script pourrait fonctionner même si js est désactivé chez le visiteur.

Posté : 26 janv. 2009, 16:50
par Tohru222
heureusement que tu es là, tu m'a tellement aider pr mon site.

ok, j'v chercher avec du javascript voir ce qui se fait

merci

Posté : 26 janv. 2009, 17:32
par Tohru222
c bon j'ai trouvé. Mes 2 boutons radios btrQuest, rendent visible ou invisible le champs listeNote

Code : Tout sélectionner

<input type="radio" name="btrQuest" value="0" checked onClick="listeNote.style.visibility='visible'" >un avis <input type="radio" name="btrQuest" value="1" onClick="listeNote.style.visibility='hidden'>une question Note attribuée : <select name="listeNote" ...>
par contre, j'aimerai aussi rendre visible/invisible du texte . en l'occurence : "Note attribuée :" qui se trouve juste devant ma liste déroulante.
je ne vois pas comment faire....
faire un formulaire juste pr le texte et la liste déroulante que je rend visible et invisible ? mais ce formulaire serait dans le formulaire qui contient d'autres champs..... ça fait bizarre non?

Posté : 26 janv. 2009, 19:12
par Ryle
Non seulement ça ferait bizare mais surtout c'est pas utile :)

En fait, ta page html est déjà structurée comme un gros formulaire. Une balise <html> qui contient une balise <body>, qui contient diverses balises, tout comme ta balise <form> va contenir une balise <select> qui contiendra des balises <option> etc.

Toute ta page n'est qu'un gros tas d'objets que tu peux manipuler à l'aide de javascript et du "dom" le Document Object Model ...

bon... c'est bien joli tout ça, mais concrètement, ça veut dire quoi ?

et bien simplement que tu peux mettre ton texte et ton select à l'intérieur d'une autre balise, par exemple un paragraphe (<p>) ou autre conteneur (<div>, <span>, ...) lui donner un id unique et l'appeler grace à javascript :
<input type="radio" name="btrQuest" value="0" checked onClick="document.getElementById('note_attribuee').style.visibility='visible'" >un avis 
<input type="radio" name="btrQuest" value="1" onClick="document.getElementById('note_attribuee').style.visibility='hidden'">une question 

<span id="note_attribuee">Note attribuée : <select name="listeNote" ...> </span>
Ainsi, lorsque tu cliques sur ton bouton radio, javascript va chercher l'objet document (la page courrante), demande l'élément dont l'id est 'note_attribuee' et va changer son style pour modifier le paramétrage de visibilité :)

Posté : 26 janv. 2009, 22:06
par Tohru222
Merci ça marche impec !!

j'étais pas loin, mais là c quand même plus soft !!!

merci encore !!