Afficher ou cacher un champ (fonction radio)

xstorias -  
 amina181 -
Bonjour,
Voila, j'ai un soucis dans un formulaire
J'ai un bouton radio avec comme choix oui et non
et j'aimerai que quand on choisi OUI, ça cache le champs en desssus et quand on choisit non, ca l'affiche
En clair, quand la personne choisi : OUI pour j'habite a paris, ca ne doit pas afficher le champs, adresse de livraison et quand la personne choisi non, ca doit l'affichier

Merci de m'aider

Voila mon code sources

</table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Habitez-vous sur Paris?</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_bouton1) {
echo($icone);
}
?>
</td>
<td><input type="radio" name="bouton1" value="Oui"<?php
if ($_SESSION['bouton1'] == "Oui") {
echo(" checked");
}
?>><font face="Verdana" size="2">Oui</font><br><input type="radio" name="bouton1" value="Non"<?php
if ($_SESSION['bouton1'] == "Non") {
echo(" checked");
}
?>><font face="Verdana" size="2">Non</font></td></tr></table><td width="140" valign="top"><div align="center"><font face="Verdana" size="2"><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Merci d'indiquez l'adresse de livraison</font></div></td>
<td width="30" align="center" valign="top">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
</td>
<td><textarea name="zone_texte1" cols="45" rows="5"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
</tr></table>
Configuration: Windows XP
Firefox 2.0.0.12

17 réponses

  1. Xil Messages postés 351 Statut Membre 257
     
    </table><table width="566" border="0" align="center"><tr>
    <td width="140"><div align="right"><font face="Verdana" size="2">Habitez-vous sur Paris?</font></div></td>
    <td width="30" align="center" valign="middle">
    <?php
    if ($erreur_bouton1) {
    echo($icone);
    }
    ?>
    </td>
    <td><input type="radio" name="bouton1" onclick="document.getElementById('zone_texte1').style.display='none';document.getElementById('label_adres').style.display = 'none';" value="Oui"<?php
    if ($_SESSION['bouton1'] == "Oui") {
    echo(" checked");
    }
    ?>><font face="Verdana" size="2">Oui</font><br><input type="radio" name="bouton1" onclick="document.getElementById('zone_texte1').style.display='block';document.getElementById('label_adres').style.display = 'block';" value="Non"<?php
    if ($_SESSION['bouton1'] == "Non") {
    echo(" checked");
    }
    ?>><font face="Verdana" size="2">Non</font></td></tr></table><td width="140" valign="top"><div align="center"><font face="Verdana" size="2"><table width="566" border="0" align="center"><tr>
    <td width="140" valign="top" align="right"><div align="right"><font face="Verdana" size="2"><span id="label_adres" style="display:<?php echo($_SESSION['bouton1'] == "Oui" ? 'none' :'block'); ?>" >Merci d'indiquez l'adresse de livraison</span></font></div></td>
    <td width="30" align="center" valign="top">
    <?php
    if ($erreur_texte1) {
    echo($icone);
    }
    ?>
    </td>
    <td><textarea name="zone_texte1" id="zone_texte1" cols="45" rows="5" style="display:<?php echo($_SESSION['bouton1'] == "Oui" ? 'none' :'block'); ?>"><?php echo stripslashes($_SESSION['zone_texte1']);?></textarea></td>
    </tr></table>


    Voila. Essaye de comprendre le fonctionnement, c'est toujours mieux que de copier coller ^^
    Ca serait plus propre de mettre le javascript dans une fonction, mais dans ce cas-ci, ca ne gène pas vraiment.
    5
  2. Xil Messages postés 351 Statut Membre 257
     
    <input type="radio" name="button1" value="oui" onclick="document.getElementById('adres').style.display='none';">
    <input type="radio" name="button1" value="non" onclick="document.getElementById('adres').style.display='block';">
    
    <textarea name="adres" id="adres" style="display:<?php echo ($_SESSION['button1']== 'oui' ? 'none' : 'block');?>;"></textarea>
    


    En gros.
    3
  3. Alex
     
    Oriente toi du coté d'un code javascript ou flash pour faire cela
    1
  4. xstorias
     
    oui, ca un code javascript à ajouter mais je ne sais pas comment faire! Je sais que c'est possible, mais je n'y arrive pas!
    1
    1. borhen
       
      vous pouvez utiliser javascript
      <head>
      <script language="javascript">

      function ChoixClic(radio,saisirdessin)
      {
      if(document.getElementById(radio).checked)
      {
      document.getElementById(saisirdessin).style.visibility='visible';
      document.getElementById(saisirdessin).style.display='block';
      }
      else
      {
      document.getElementById(saisirdessin).style.visibility='hidden';
      document.getElementById(saisirdessin).style.display='none';
      }
      }
      </script>
      </head>

      <body>
      <body>
      <form action="" name="form1" methed="post">
      <input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" />
      <div id="view" style="display:none"><input type ="text"></div>

      </form>
      </body>
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Xil Messages postés 351 Statut Membre 257
     
    C'était un exemple de ce qu'il fallait faire ;)

    Tu dois ajouter la partie "onclick" dans chacun de tes radio boutons.
    Tu dois ajouter un attribut ID à ta zone de texte pour l'adresse.
    Tu dois ajouter l'attribut style à ta zone de texte pour l'adresse.
    Tu dois modifier le "getElementById('adres')" en "getElementById('id_de_ton_champ_adresse')"

    Ensuite remontre ton code, je te dirai s'il est correct.
    [Je pars du boulot, je repasserai plus tard dans la soirée ;)]
    1
  7. Xil Messages postés 351 Statut Membre 257
     
    Tu peux rajouter une balise span autour de ton texte, comme ceci :
    <span id="label_adres" style="display:<?php echo ($_SESSION['button1']== 'oui' ? 'none' : 'block');?>;">Merci d'indiquez l'adresse de livraison</span>

    et du coup rajouter dans les 'onclick' des bouton :
    document.getElementById('label_adres').style.display='none/block';

    Si tu as compris le principe ca devrait aller tout seul (surtout si tu comprend l'anglais). Sinon je te mettrai le code demain, je n'ai pas trop le temps ce soir.
    1
  8. xstorias
     
    J'ai réussi, mais il me reste plus qu'a réussi maintenant à supprimer le texte "Merci d'indiquez l'adresse de livraison" en meme temps que le champ, tu sais comment je pourrai réussir?

    Merci
    0
  9. xstorias
     
    Après si tu as le temps de m'aider, il faudrai aussi que je réussisse à faire ca :

    http://www.commentcamarche.net/forum/affich 5029694 ajouter un bouton et faire un recapitulatif
    0
  10. xstorias
     
    OK, merci de m'envoyer le code demain
    J'ai presque réussi, le soucis, c'est que soit c'est cacher tout le temps ou ca apparait tout le temps, ca doit pas être grand chose, mais si tu peux me le faire demain ca serai cool!

    Merci
    0
  11. xstorias
     
    Merci beaucoup, j'ai réussi, ca fonctionne parfaitement!
    0
  12. xstorias
     
    Es ce que tu pense pouvoir m'aider pour ce soucis?

    http://www.commentcamarche.net/forum/affich 5029694 ajouter un bouton et faire un recapitulatif
    0
  13. Xil Messages postés 351 Statut Membre 257
     
    Ca demande un certain travail...
    Au boulot je ne peux me permettre que des petites réponses, et en dehors du boulot je suis en plein déménagement, et je travaille sur d'autres projets...
    Désolé :/
    0
  14. amina181
     
    slt
    j'ai le meme prob mé avec <select></select>,et j'ai aucune idée ,si quelqu'un peut m'aider,merci d'avance.
    -1
  15. xstorias
     
    Ca ne marche pas, ca m'ajoute 2 boutons que j'ai déja et quand je clique sur un j'ai un champs qui apparait et quand je clique sur l'autre, il disparait! c'est a peut près ca que je veux, mais il ne convient pas dans le code source que j'ai posté!
    Merci en tout cas de ton aide
    Si tu peux voir pour me l'intégrer à mon code source, ca serai parfait
    -2
  16. xstorias
     
    Oula, je comprends rien du tout, je débute!
    Tu pourrai pas me le modifier?

    Merci d'avance
    -2