afficher ou masquer un div dans un tableau

Eléphant du PHP | 417 Messages

21 févr. 2012, 10:44

bonjour à vous tous
voila j'ai un souci j'aimerai le résoudre :)

j'ai un tableau de 3 colons et une seul ligne

ce que je veux faire si :
au début y aura que la première colon qui s'afficher : dans cette colon y aura deux input radio
 Oui  : <INPUT type="radio" name="participe" value="Oui"  />
	  Non  : <INPUT type="radio" name="participe" value="Non"  />
et selon le choix de l'utilisateur si il coche la case Oui je veux donc afficher la deuxième colon sinon (s'il coche non) j'affiche le bouton valider (qui est pas afficher au début )

donc supposent que l'utilisateur a coché OUi donc j'affiche 2eme colon et dans cette colon j'ai une zone de select
<SELECT name="nombre_participant">
<OPTION VALUE="1">1</OPTION>
<OPTION VALUE="2">2</OPTION>
<OPTION VALUE="3">3</OPTION>
<OPTION VALUE="4">4</OPTION>
<OPTION VALUE="5">5</OPTION>
<OPTION VALUE="6">6</OPTION>
et là je veux que quand l'utilisateur choisi par exemple 4 ou un autre nombre je veux afficher la 3 colon avec 4 zone de saisi (4 coresspend au nombre choisi dans la sélect de 2eme colon

j’espère que mon message et bien claire ? :)

Merci d'avance

Eléphant du PHP | 179 Messages

21 févr. 2012, 10:52

Hello
http://forum.phpfrance.com/javascript-ajax/cacher-resultat-requete-php-avec-javascript-t262800.html
jette un coup d'oeil à l'exemple que j'ai donné sur ce topic la, je pense que ça peut être la solution à ton problème :)

Eléphant du PHP | 417 Messages

21 févr. 2012, 10:54

Hello
http://forum.phpfrance.com/javascript-ajax/cacher-resultat-requete-php-avec-javascript-t262800.html
jette un coup d'oeil à l'exemple que j'ai donné sur ce topic la, je pense que ça peut être la solution à ton problème :)
merci je vais voir et je te tien au courant :)

Eléphant du PHP | 417 Messages

21 févr. 2012, 11:21

Yeah j'ai vu tes message et ça peu me rendre utile je pense sauf que j'aimerai bien le faire sans passé pas jQuery si c'est possible

Eléphant du PHP | 179 Messages

21 févr. 2012, 11:22

Javascript ?

Eléphant du PHP | 417 Messages

21 févr. 2012, 11:24

Javascript ?
oui

Eléphant du PHP | 179 Messages

21 févr. 2012, 11:33

<script type="text/javascript">



		function AfficherCacher(texte) 

		{

			var test = document.getElementById(texte).style.display;

			if (test == "block") 

			{

				document.getElementById(texte).style.display = "none";

			}

			else 

			{

				document.getElementById(texte).style.display = "block";

			}

		}

		

	

</script>



<a href="#" onclick='AfficherCacher("MonTexte1"); return false'>Texte 1</a><br />



<div id="MonTexte1" style="display:none">

Contenu Caché de Texte 1

</div>
voila un exemple pour cacher des divs en javascript simple, mais bon :/... enfin si tu ne veux pas utiliser de Jquery reste :D
Par contre ce n'est pas avec un tableau ni avec des radio, donc a toi d'adapter, mais l'essentiel est la :)

Eléphant du PHP | 417 Messages

21 févr. 2012, 11:37

c'est gentil de ta part :)

j'ai essayé ça marche j'ai essayé avec les bouton radio sa marche aussi mais pour les select :s non

Eléphant du PHP | 179 Messages

21 févr. 2012, 11:39

Met ton select dans une div et tu mets l'id sur ta div

Mammouth du PHP | 2278 Messages

21 févr. 2012, 11:40

Pour quelqu'un qui ne voudrait pas passer par Javascript, il faudrait écrire quelque chose comme
$div_1_visible = (isset ($_POST['participe'])) ? "visible": "hidden"; 
<div name = "div_1"  style="visibility = $div_1_visible" >
...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 417 Messages

21 févr. 2012, 11:48

Pour quelqu'un qui ne voudrait pas passer par Javascript, il faudrait écrire quelque chose comme
$div_1_visible = (isset ($_POST['participe'])) ? "visible": "hidden"; 
<div name = "div_1"  style="visibility = $div_1_visible" >
...
j'ai pas compris ton message sirakawa veux tu dire que on peut faire ça sans javascript?

Eléphant du PHP | 179 Messages

21 févr. 2012, 11:58

oui, mais la tu vas recharger ta page a chaque action... enfin, c'est une façon de faire les choses

Mammouth du PHP | 2278 Messages

21 févr. 2012, 12:04

oui, mais la tu vas recharger ta page a chaque action... enfin, c'est une façon de faire les choses
pour les réfractaires à javascript.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 417 Messages

21 févr. 2012, 12:11

ah oui je vois c'est un peux mieux en javascript je trouve je suis bien l'aide de notre ami Thibaud C et ça marche bien

voici le code pour le moment
<script type="text/javascript">
	function membres(chaine)
	{
		var a = document.getElementById("oui");
		var b = document.getElementById("non");
		

		if (chaine == 'afficher1'){
			a.style.display = "block";
			b.style.display = "none";
		}
		else if (chaine == 'afficher2'){
			a.style.display = "none";
			b.style.display = "block";
		}
	}

</script>

	<table border=1px>
		<tr>
				<td>
					<input type="radio" name="recherche"   value="Oui" onchange="membres('afficher1')" /> Oui 
					<input type="radio" name="recherche"   value="Non" onchange="membres('afficher2')" /> Non
				</td>
		
			<td id="oui" style="display:none">
				
					<SELECT name="nombre_participant">
						<OPTION VALUE="1">1</OPTION>
						<OPTION VALUE="2">2</OPTION>
						<OPTION VALUE="3">3</OPTION>
						<OPTION VALUE="4">4</OPTION>
						<OPTION VALUE="5">5</OPTION>
						<OPTION VALUE="6">6</OPTION>
					</SELECT>
				
			</td>
		</tr>
	</table>
		

<div id="non" style="display:none">

<input type="submit" name="valider" value="Valider"/>
</div>
ce qui me reste a faire maintenant c'est de recupérer la valeur choisi dans select et afficher une 3eme colonne qui contiendra des zones de saisi ( le meme nombre choisi dans select cad si l'utilisateur choisi 2 je veux afficher deux zonne de saisi...)

Eléphant du PHP | 179 Messages

21 févr. 2012, 12:35

<html>
<head>
<script type="text/javascript">
function displayTxtBox()
{
var nb_txt=document.forms[0].nb_txt.value;
var i=0;
var ma_div = document.getElementById('zone_txt_box');
ma_div.innerHTML="";
for(i=0;i<nb_txt;i++)
  {
    ma_div.innerHTML=ma_div.innerHTML+'<br /><input type="text" value="" name="lename" />';
  }
}
</script>
</head>

<body>

<form>
<select id="nb_txt" onchange="displayTxtBox()">
  <option value="0"></option>
  <option value="1">1</option>
  <option value="2">2</option>
</select>
<div id="zone_txt_box">
</div>
</form>

</body>
</html>
Mouais.. a tester.. car je suis une bille en JS :D