Rechercher : dans
Par :

Affichage champs selon le choix du bouton

Dernière réponse le 7 sep 2009 à 14:02:37 steph, le 20 mar 2006 à 12:56:50 
 Signaler ce message aux modérateurs

Bonjour,

je voudrais afficher des champs selon le choix du bouton radio, j'ai trouvé cette fonction sur le net:

<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">
function met(btn,champ)
{
if (btn.checked)
{
document.getElementById(champ).style.display="inline";
}
else {
document.getElementById(champ).style.display="none";
}
}
</script>
</HEAD>
<BODY>

<input type="radio" name="tem" value="oui" id="chkb_10"
onclick="met(this,'texte_10');" > <label for="chkb_10">Contrôle de "texte_10"</label>
<input type="text"
style="display:none"
id="texte_10" value="Contenu de texte_10"><br />

<input type="radio" id="chkb_20" value="non" name="tem"
onclick="met(this,'texte_20');" > <label for="chkb_20">Contrôle de "texte_20"</label>
<input type="text"
style="display:none"
id="texte_20" value="Contenu de texte_20"><br />

</BODY>
</HTML>

Le probléme c'est que quand je change de bouton, le texte reste afficher, qu'est ce que je dois rajouter pour que ça marche??

merci d'avance pour votre aide.

Meilleures réponses pour « affichage champs selon le choix du bouton » dans :
Le codage CIE / Lab (L*a*b) VoirLe codage CIE Les couleurs peuvent être perçues différemment selon les individus et peuvent être affichées différemment selon les périphériques d'affichage. La Commission Internationale de l'Eclairage (CIE) a donc défini des standards permettant...

1

Maoulida, le 9 déc 2006 à 17:57:54

A mon avis, il te faut rappeler la fonction "met" sur click des autres boutons, etdemander dans ce cas de cacher les champs indésirables...
j'espère que ca aide...

Répondre à Maoulida

2

Yassine Moubarrid, le 8 mai 2007 à 11:59:30
  • +2

Bonjour,
je vais rajouter meme ke je pense ke cé trop tard de repondre mais pour d'autre personne j'ai rajouter ds le code une autre fonction enlver() pour enlever les champs lorsque en décoche le boutton radio voila cé simple rien n'est complique a+

<HTML>
<HEAD>
<TITLE>
</TITLE>
<script type="text/javascript">

function enlver(btn,champ)
{
if (btn.unchecked)
{
document.getElementById(champ).style.display="inline";
}
else {
document.getElementById(champ).style.display="none";
}

}

function met(btn,champ)
{
if (btn.checked)
{
document.getElementById(champ).style.display="inline";
}
else {
document.getElementById(champ).style.display="none";
}
}
</script>
</HEAD>
<BODY>

<input type="radio" name="tem" value="oui" id="chkb_10"onclick="met(this,'texte_10');" Onchange="enlver(this,'texte_10');">
<label for="chkb_10">Contrôle de "texte_10"</label>
<input type="text" style="display:none" name="texte_10" id="texte_10" value="Contenu de texte_10"><br />

<input type="radio" id="chkb_20" value="non" name="tem"onclick="met(this,'texte_20');" Onchange="enlver(this,'texte_20');">
<label for="chkb_20">Contrôle de "texte_20"</label>
<input type="text" style="display:none" name="texte_20" id="texte_20" value="Contenu de texte_20"><br />

</BODY>
</HTML>

Répondre à Yassine Moubarrid

3

foxy, le 28 oct 2007 à 09:32:16
  • +1

Bonjour ,

j'ai le meme probleme sauf que moi ce ne sont pas des boutons radio mais une liste déroulante sur laquelle on devra faire une sélection et afficher les resultats en fonction de cette sélection

Répondre à foxy

4

foxy, le 28 oct 2007 à 09:34:45

Quelqu'un pourrait m'aider svp??? Je sature en php... :(

Répondre à foxy

5

Maoulida, le 29 oct 2007 à 09:19:20

Le code donné ci-dessus fait bien ton affaire. Tout ce qu'il te faut modifier, c'est le test : au lieu de tester si un bouton est coché ou pas, tu testes la valeur de ta combo list et tu décides de ce que tu affiches (ou pas)...
En espérant que ca apporte un peu plus de lumière...

Répondre à Maoulida

6

foxy, le 5 jan 2008 à 14:50:51

Merci bcp

Répondre à foxy

7

xdiz, le 9 jui 2008 à 13:42:44
  • +1

Fonction js (javascript) qui marche qui permet d'afficher/cacher une partie d'un formulaire différent à partir d'un type=radio (ici y'en a seulement 2)

2 choix possibles donc type=radio (oui ou non), Si il clique sur oui alors sa
lui envoie un formulaire sur des infos client, si clic sur non alors sa lui
envoie des infos pour les nons clients

Ces instructions sont couplées avec du PHP
HTML/PHP
echo '<label>Oui</label><input type="radio" name="client" id="ouiCli" value="oui"
onclick="choixClient(this,\'formCli\', \'formNonCli\');" />';
echo '<label>Non</label><input type="radio" name="client" id="nonCli" value="non"
onclick="choixClient(this, \'formCli\',\'formNonCli\');" />';

javascript

btn correspond au bouton coche (oui ou non ici)
champ1 correspend a mon DIV qui englobe les formulaire que je veux voir (ici
formulaire pour le client)
champ1 correspend a mon DIV qui englobe les formulaire que je veux voir (ici
formulaire pour le NON client)
function choixClient(btn,champ1,champ2)
{
if (btn.id == "ouiCli"){
afficher(champ1,true);
afficher(champ2,false);
}
else if (btn.id == "nonCli"){
afficher(champ2,true);
afficher(champ1,false);
}
}

Cette fonction affiche ou non le DIV par rapport a l'id
ex: <div id="formCli">

function afficher (div, affiche) {
if (affiche){
document.getElementById(div).style.display="block";
}
else {
document.getElementById(div).style.display="none";
}
}

Répondre à xdiz

8

corleone90, le 8 fév 2009 à 02:00:17

Bonjour,

Le Javascript fonctionne super bien (je ne maitrise pas le PHP).
Y aurait-il moyen de faire fonctionner ce style super pratique sur FireFox ????

Ca serait dommage de rester bloquer sur ce "détail de coimpatibilité !

Merci pour votre aide

Répondre à corleone90

9

 badibad, le 7 sep 2009 à 14:02:37

Bonjour à tous

Je suis débutant et je cherche à adapter votre script à mon code php. pourriez vous m'aider

Voici mon code

 $selection = array('id' => $this->code,
                         'module' => $this->title,
                         'fields' => array(array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_OWNER,
                                                 'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])),
                                          array('title' => MODULE_PAYMENT_CC_TEXT_MENS,
                                                'field' =>  tep_draw_pull_down_menu('cc_mens',$montants_array, $mens_selected)), 
                                           array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_NUMBER,
                                                 'field' => tep_draw_input_field('cc_number')),
                                           array('title' => MODULE_PAYMENT_CC_TEXT_CREDIT_CARD_EXPIRES,
                                                 'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . '&nbsp;' . tep_draw_pull_down_menu('cc_expires_year', $expires_year))));

  
      return $selection;
    }


J'ai fait plusieurs essais mais sans succès

Merci à tous

Répondre à badibad
Collection CommentÇaMarche.net