Afficher une zone texte en cliquant sur check

Fermé
borhen - 5 nov. 2008 à 15:06
 Nixial - 5 nov. 2008 à 16:45
Bonjour, j'ai le code suivant en javascript et html et php qui me permet en cliquant sur une checkbox d'afficher une zone texte. le probléme c'est que je veut faire ce traitement dans une boucle while pour afficher autant de checkbox que je veut, mais le programme affiche la zone texte seulement en cliquant sur la première checkbox et pour les autre non; voici le script est ce quelqu'un peut m'aider. merci:
<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>
<?php
$i=0;
while ($i<>4)
{?>
<form action="" name="form1" method="post">
<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

</form>
<?php $i++;}?>
</body>
A voir également:

2 réponses

Bonjour,

Il est normal que que l'affichage ne fonctionne que pour le 1er clique.
Il est nécessaire d'incrémenter l'id de chaque checkbox ainsi que l'id view de ta div.
0
Bonsoir,


Effectivement, là si tu as 5 checkboxs, tu vas avoir :

<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

<input type="checkbox" id="check1" onClick="ChoixClic('check1','view')" >
<div id="view" style="display:none"><input type ="text"></div>

Quand tu fais document.getElementById('check1'), il va prendre le premier.
Idem pour document.getElementById('view').

Solution, utiliser ta variable $i qui s'incrémente pour changer les id des checkbox et des div.

Bonne chance !
0