afficher div quand coché mais caché quand décoché

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher div quand coché mais caché quand décoché

par Ryle » 03 nov. 2006, 11:57

en faite la fonction est executer une fois que c'est cocher ou decocher ? c'est ça ? en tout cas merci sa marche!
Tout à fait, l'état de la case change immédiatement lors du clic, et du coup le onClick prend en compte la case dans son nouvel état. Il suffit donc directement de regarder si la case a été (et donc est) cochée ou décochée (.checked) et d'agir en conséquence :)

Ps : Merci Truc :)

par Truc » 03 nov. 2006, 02:26

C'est du javascript, pas du php ça ;)
Déménagement :wink:

par petiteplume » 02 nov. 2006, 12:55

je me suis trompé

la parti qui est caché ou afficher div est nommé date
ma case a coché est dat

je viens de faire ça :
function affichedate(){ 
if(document.enreg.dat.checked)
  document.getElementById("date").style.visibility='visible'; 
else 
  document.getElementById("date").style.visibility='hidden'; 
} 
et cela marche, c'est pas logique? si ?
en faite la fonction est executer une fois que c'est cocher ou decocher ? c'est ça ? en tout cas merci sa marche!

par Ryle » 02 nov. 2006, 12:47

C'est normal, c'est parce que tous tes champs s'appellent "dat" ;)
Change le nom et l'id de ta checkbox (pour rappel, les id doivent être unique sur une page, tu ne dois donc pas avoir deux champs avec le même id) et corrige le dans ta fonction également, tu devrais obtenir un meilleur résultat :)

par petiteplume » 02 nov. 2006, 12:37

Donc suivant ton conseil j'ai :
function affichedate(){ 
if(document.enreg.dat.checked)
  document.getElementById("date").style.visibility='hidden'; 
else 
  document.getElementById("date").style.visibility='visible'; 
} 
<input name="dat" type="checkbox" id="dat" onClick="javacript:affichedate();">
  date 
  <div id="date" style="visibility:hidden">
  <p align="center">entre date  
    <input name="dat" type="text" id="dat" value"" size="8" readonly>
et <input name="dat" type="text" id="dat" value="" size="8" readonly> </p></div>
mais j'ai toujours le même souci, cela me l'affiche mais le cache pas. Merci

par Ryle » 02 nov. 2006, 12:25

C'est du javascript, pas du php ça ;)

Le plus simple c'est dans ta fonction de tester l'état de ta case à cocher. quelque chose du genre :
if(document.monFormulaire.maCase.checked) // retourne vrai si la case est cochée
 // ... display = 'block'; ou visibility = "visible";
else
 // ... display = 'none';
L'action onClick sur tes cases à cocher doit normalement fonctionner.

afficher div quand coché mais caché quand décoché

par petiteplume » 02 nov. 2006, 12:18

Bonjour,

Voila, j'ai plusieurs div avec comme attribut hidden. Quand je clique sur la case a coché cela affiche bien la parti div(grace a une fonction) mais le probleme c'est que lorsque je reclique dessus je voudrai que cela se recache. Est-il possible de savoir si la case était deja cocher ? Faut-il utilisé autre chose que le onchange ? j'ai essayé onclick mais cela ne fonctionne pas.

J'espère que vous m'avez compris et que vous pourrez m'aidez.
merci d'avance