11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous !

Avant de commencer: Je suis novice en Javascript ^^
Depuis quelques jours, je souhaite afficher l'une des 2 portions de mon formulaire si l'un des boutons radio est checked et inverse pour la deuxième portion.

Est-ce que quelqu'un peut m'expliquer ou me mettre sur la bonne voie ? Smiley decu


Merci d'avance !
Julien.
Modifié par Juliendu95 (13 Jul 2006 - 16:25)
Est-ce que là c'est mieux ?
Et merci pour l'accueil !!!

Merci d'avance...
Modifié par Juliendu95 (13 Jul 2006 - 16:25)
Quelque chose de ce genre ?


[b]Code javascript[/b]
function radioclick (b) {
document.getElementById('div1').style.display = (b? 'block':'none');
document.getElementById('div2').style.display = (b? 'none':'block');
}

[b]Code XHTML[/b]
<input type="radio" .... onclick="radioclick(true);" />
<input type="radio" .... onclick="radioclick(false);" />
<div id="div1">...</div>
<div id="div2">...</div>
Oui c'est exactement ça qu'il me faut ^^
Seul souci: Comment fait-on lorsqu'il n'y a aucun radio qui a été checked pour que ça n'affiche rien ?

Merci !!
Julien
Ah non ça y ait ! J'ai réfléchit un peu et j'ai essayer de faire:

<div id="div1" style="display: none;">
1...2...3
</div>


Et ça a fonctionner !

Merci de votre aide Smiley biggrin
Julien.
Petit souci !

<script language='Javascript'>
function radioclick (b) 
{
	document.getElementById('div1').style.display = (b? 'block':'none');
	document.getElementById('div2').style.display = (b? 'none':'block');
	document.getElementById('div3').style.display = (b? 'none':'block');
	document.getElementById('div4').style.display = (b? 'none':'block');
}
</script>


Quand je met ça, impossible de faire fonctionner correctement, j'ai essayer de plusieurs façon ... On peut utiliser que deux radio :s y'a pas une façon où l'on peut utiliser plusieurs radio ?

Merci d'avance !
Julien.
Juliendu95 a écrit :

Quand je met ça, impossible de faire fonctionner correctement, j'ai essayer de plusieurs façon ... On peut utiliser que deux radio :s y'a pas une façon où l'on peut utiliser plusieurs radio ?

Merci d'avance !
Julien.


Si si, bien sûr que si. Mais tu n'avais pas précisé que tu avais plus de 2 boutons radio.


[b]Code JavaScript[/b]
<script type="text/javascript">
function radioclick (b) 
{
	document.getElementById('div1').style.display = (b!=1? 'none':'block');
	document.getElementById('div2').style.display = (b!=2? 'none':'block');
	document.getElementById('div3').style.display = (b!=3? 'none':'block');
	document.getElementById('div4').style.display = (b!=4? 'none':'block');
}
</script>


[b]Code HTML[/b]
<input type="radio" onclick="radioclick(1);" ... />

En mettant en paramètre de fonction le numéro du div à afficher.

Ou mieux, si ta façon de traiter les données côté serveur te le permet :
<input type="radio" .... value="1" onclick="radioclick(this.value);" ... /> 

En mettant dans l'attribut value le numéro du div à afficher. Cette façon de faire t'évite d'oublier le changement dans l'attribut onclick...