Faire aparaitre qq'ch quand on coche un checkbox

Eléphant du PHP | 246 Messages

13 avr. 2006, 18:51

Salut tout le monde ! Je conais pas très bien le fonctionement du javascript, et jaurais besoin d'aide.

J'ai un formulaire, avec plusieurs checkbox. J'aimerais pouvoir faire que, lorsqu'on coche l'un de ces checkbox il apparait en dessou quelque chose d'autres.

Mon idée est de faire un script pour ajouter des news sur mon site. Il y a 4 catégorie (4 checkbox) :
- Console de salon (Nintendi)
- Console portable (Nintendo)
- Concurence
- Economie.

J'aimerais pouvoir faire que lorsqu'on coche par exemple "Concurence", il y a en dessou encore des checkbox qui s'affiche: "PS2" et "Xbox".

Si quelqu'un pourrait me filer un p'tit coup de pouce, me commencer le travail ou me donner un lien qui explique comment faire ça serait sympa.

Merci d'avance :D

Eléphant du PHP | 246 Messages

13 avr. 2006, 19:11

Finalement j'ai trouvé comment faire :P

Merci quand meme ^^

ViPHP
ViPHP | 656 Messages

13 avr. 2006, 19:11

Regarde ceci, c'est à peut prêt pareil que ce que tu veut :

http://www.phpfrance.com/forums/voir_reponse-116533.php

Eléphant du PHP | 246 Messages

13 avr. 2006, 19:21

Finalement ça marche pas ce que je croyais avoir trouvé.

J'avais trouvé la meme chose sauf que c'était quand on click sur un lien. Alors j'avais mis le checkbox dans le lien. Quand on clickais dessu il y avais bien quelque chose qui apparaissait, sauf que ca cochais pas la case...grr

Sinon pour le lien que tu m'a passé c'est Exactement ça que j'aimerais faire, par contre je cherche pas avoir une petite croix a coté, si yen a une c'est pas grave non plus ^^

ViPHP
ViPHP | 656 Messages

13 avr. 2006, 20:09

Ba la petite croix ne sera que tu travail en plus alors nan il n'y en aura pas par default.

Pour la case, tu a un input.

(E.g: <input type="checkbox" onclick="nom_function_js(id_du_composant);" />)

Et comme ça c'est quand on clickera sur la checkbox que l'action aura lieu. Inutile de faire ton lien (qui est vraiment une solution tiré par les cheuveux :p)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 avr. 2006, 21:07

Et ça c'est pas ce que tu cherches ?!

à adapter un peu biensûr :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 246 Messages

13 avr. 2006, 21:11

Hum non ça se coche toujours pas.

Je mets ça dans <style> :

Code : Tout sélectionner

<style> span.menu { display: block; } span.ferme {display: none;} </style>
Puis sans <head> :

Code : Tout sélectionner

<script> function twAjusteMenu(id) { // Compatible IE et famille Mozilla/Netscape et Safari // Incompatible mais utilisable avec Netscape 4.7 et Opera !! element = document.getElementById(id); element.className = (element.className.toLowerCase() == 'menu'?'ferme':'menu'); } onload = function() { twAjusteMenu('sousmenu1'); twAjusteMenu('sousmenu2'); } </script>
Ensuite pour le bouton :
<span class="menu"><input name="salon" type="checkbox" onclick="twAjusteMenu(\'sousmenu1\'); return false;" id="salon" value="checkbox" checked></span>
Et le sous menu :

Code : Tout sélectionner

<span class="menu" id="sousmenu1"> Blabla </span>
Quand je click sur la checkbox ca m'affiche le sous menu, mais ça ne la coche pas :?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 avr. 2006, 22:09

vire le "return false;" de l'événement onclick tu annules l'effet du click sur la case.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 246 Messages

13 avr. 2006, 22:47

Désormais tout marche, merci a tous :D