Afficher une <TD> en fonction de bouton radi

Résolu/Fermé
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 - 28 févr. 2008 à 12:34
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 - 28 févr. 2008 à 14:15
Bonjour,

J'ai un formulaire qui est dans un tableau (HTML). Je souhaite qu'une partie du formulaire ne s'affiche qu'en fonction du choix de bouton radio par l'utilisateur. J'ai trouvé un script qui fait ça très bien mais avec des <div> et pas des <td>...
J'ai essayé ça ne marche qu'à moitié. D'abord, voila le code d'origine, fonctionnel :
<script type="text/javascript">
function show_div(id)
{
for (var i = 1; i <= 2; i++)
{
if (i == id)
{
document.getElementById('div_' + i).style.display = 'block';
}
else
{
document.getElementById('div_' + i).style.display = 'none';
}
}
}
</script>

<form>
<input type="radio" name="choix" onclick="show_div(1)" /> Montrer le texte 1<br />
<input type="radio" name="choix" onclick="show_div(4)" /> Montrer le texte 2
</form>

<div id="div_1" style="display: none">Texte 1</div>
<div id="div_2" style="display: none">Texte 2</div>


J'ai donc essayé dans le script de mettre
function show_td(id)
à la place de
function show_div(id)
.
Dans les balises INPUT j'ai modifié
onclick="show_td(1)" 

Dans mes balises <TD> j'ai ajouté :
id="td_1" style="display: none"
.

Ca masque bien mes cellules, sauf que quand je choisi le bouton radio de la cellule le onclick ne fonctionne pas... Les cellules ne pointent pas leur nez ! La fonction "function show_div(id)" n'est pas transposable aux cellules je suppose. Connaissez-vous une alternative ?

D'avance merci !

2 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
28 févr. 2008 à 14:02
Bonjour,

As-tu aussi changé dans la fonction show_td les lignes suivantes:
document.getElementById('td_' + i).style.display = 'block';
}
else
{
document.getElementById('td_' + i).style.display = 'none';

A plus
2
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
28 févr. 2008 à 14:15
Je rougi...... Non !! Et ça marche !!
Ca m'a généré une deuxième problème que j'ai résolu en utilisant <TR> plutôt que <TD> qui marche tout aussi bien.

Merci beaucoup !!
0