Pb de faire disparaitre un sous form en cochant une case [Résolu]

Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
- - Dernière réponse : rachidphp93
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
- 21 avril 2006 à 18:51
bonjour tout;

j'ai fais un script qui fait disparaitre des zones de formulaire en cochant une case, le probleme c'est que ça me cache pas l'intitulé de la zone, par exemple NOM: , donc j'ai pensé à creer un sous form que je voudrai faire disparaitre de la meme façon mais cette fois ci tout le sous form:

function GereControle(Controleur, Controle, Masquer) {
var objControleur = document.getElementById(Controleur);
var objControle = document.getElementById(Controle);

if (Masquer=='1'){

objControle.style.visibility=(objControleur.checked==true)?'hidden':'visible';

}

}

et voila l'appel de la fonction dans mon form principale:

casecaches est l'id de mon sous form;

une aider esl la bienvenue, Merci
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
3
Merci
- un div avec un id unique pour chaque td
- une modification de la propriété display de chaque div dans la fonction BasculeZone()

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 207 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_AlexN
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
3
Merci
ça marche, mais je trouve que c'est peu lourd, moi qui voulais faire ca en javascript je pensais que c'etait mieu que php mais NON avec php, je test si le checkbox n'est pas coché if (!isset($_POST['checkbox'])){

toutes les zones

sinon

}

je continue, c'est plus simple non?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 207 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rachidphp93
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
Mets tout dans un div et fais jouer, par l'evenement onClick, la propriete display entre 'none'/'block' pour masquer/afficher le groupe :


Nom :



<script language='javascript'>
function BasculeZone() {

var d = document.getElementById('Zone');
d.style.display d.style.display 'block' ? 'none' : block';

}
</script>
Commenter la réponse de cs_AlexN
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
0
Merci
j'ai essayé ce ci:

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function BasculeZone() {

var d = document.getElementById('Zone'); d.style.display (document.getElementById(idext).checked true) ? 'none' : block';

}
</script>
</head>

Nom :

Exterieur:

</html>
j'ai juste remplacé ton test car je teste le checkbox si il est coché ou pas?

mai ca ne marche pas???
Commenter la réponse de rachidphp93
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
et avec document.getElementById('idext') au lieu de document.getElementById(idext) ?
Commenter la réponse de cs_AlexN
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
0
Merci
bon la ca marche nikel avec ce script:

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function BasculeZone() {

var d = document.getElementById('Zone'); d.style.display (document.getElementById('idext').checked true) ? 'none' : 'block';

}
</script>
</head>

<form name="toto">
Exterieur:

----,
Nom:
</td>

----

Nom :
Prenom :

</form>

</html>

mais il y a un petit probleme, c'est qu'il faut que tout les elements que je veux gerer (cacher/aficher) soient avec le div dans la meme cellule de mon tableau!! quand je mets les element dans des lignes et/ou des colones differentes de mon tableau ca bug??
Commenter la réponse de rachidphp93
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
0
Merci
t'es encore là; je ne voi pas dutout pour quoi le div ne marche pas dans les differentes cellules?
Commenter la réponse de rachidphp93
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
montres le code que tu veux faire executer je ne comprend pas
Commenter la réponse de cs_AlexN
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
je crois comprendre ça : cette astuce ne marche que pour des div/span simples ou encadrés dans un td.
Si tu veux que ta fonction bascule plusieurs td.
1) tu les balises tous avec un div nommé différement
<tr><td>
...
</td></tr>
<tr><td>
...
</td></tr>
2) tu modifie BasculeZone() :
var Style (document.getElementById('idext').checked true) ? 'none' : 'block';
document.getElementById('Zone1').style.display document.getElementById('Zone2').style.display Style;
Commenter la réponse de cs_AlexN
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
0
Merci
oui mais le probleme c'est moi je mets les intitulé dans une cellule comme ceu ci

<td width="200">Nom</td>

<td></td>

donc mon div je ne sais pas ou le mettre y'aura obligé un <td> apres le div, je devrai peut etre changer ma mise en page de mon form?
Commenter la réponse de rachidphp93
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
- un div avec un id unique pour chaque td
- une modification de la propriété display de chaque div dans la fonction BasculeZone()
Commenter la réponse de cs_AlexN
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
6
0
Merci
php et javascript n'agissent pas au même moment.
Php est executé par la machine serveur avant d'envoyer le fichier html resultant
javascript est executé par la machine cliente sur le fichier html du client.
En php tu construit le fichier le fichier html
En javascript tu le modifies interactivement chez le client.
Commenter la réponse de cs_AlexN
Messages postés
212
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
8 avril 2007
0
Merci
je suis tout a fait d'accord avec toi, mais je ne vois pas la difference dans mon cas car la vitesse du traitement est la meme vue de mes yeux. peut etre par ce que j'utilise easy php pour l'instant, j'ai pas encore passer au serveur separé
Commenter la réponse de rachidphp93