Bouton Radio

Eléphanteau du PHP | 32 Messages

30 mai 2008, 11:18

Bonjour,

J'ai un tout petit soucis au niveau de bouton radio, pour l'expliquer voici des captures d'écrans et le code :D

Image

Code : Tout sélectionner

//boutons radio choix affichage tableau?> <h2 class="form"> <form method='post' name='fm'><br> <p> <input name='bouton' type='radio' value='prospect' onClick="document.forms.fm.submit()" >prospect(s)&nbsp; <input name='bouton' type='radio' value='client' onClick="document.forms.fm.submit()" >client(s)&nbsp; <input name='bouton' type='radio' value='tous' onClick="document.forms.fm.submit()" checked>tous </p> </form> </h2>

Le problème est que lorsque j'appuie sur le bouton radio "client(s)" il m'affiche ce qu'il faut mais le bouton cocher se remet sur "tous". Idem si je click sur "prospect(s)" il affichera les bonnes données mais il recochera automatique le bouton "tous"

Pouvais vous me dire ou est l'erreur dans mon code s'il vous plait :D

Eléphant du PHP | 353 Messages

30 mai 2008, 11:32

Code : Tout sélectionner

<input name='bouton' type='radio' value='tous' onClick="document.forms.fm.submit()" checked>tous
Tu as le mot clé "checked".
Cela signifie que des le chargement de la page, le bouton radio de "tous" est considéré comme automatiquement sélectionné
Modifié en dernier par yaug le 30 mai 2008, 11:37, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 mai 2008, 11:34

Il se remet sur "tous" parce que ton boutton "tous" dispose de l'attribut "checked" qui lui dit qu'il doit être coché par défaut.

A toi de placer ce "checked" dans le bouton devant être coché en fonction de la valeur récupérée ;)

Edit : ah ben grillé.... :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 32 Messages

30 mai 2008, 15:02

<input name='bouton' type='radio' value='prospect' onClick="document.forms.fm.submit()" 
<?php
if(isset ($_POST['bouton']) AND $_POST['bouton']=="prospect") echo 'checked';
?> > prospect(s)&nbsp;
<input name='bouton' type='radio' value='client' onClick="document.forms.fm.submit()" 
<?php
if(isset ($_POST['bouton']) AND $_POST['bouton']=="client") echo 'checked';
?> > client(s)&nbsp;
<input name='bouton' type='radio' value='tous' onClick="document.forms.fm.submit()"
<?php
if(isset ($_POST['bouton']) AND $_POST['bouton']=="tous") echo 'checked';
?> >tous;

Mammouth du PHP | 2937 Messages

30 mai 2008, 15:13

On peut même améliorer le code, de façon à proposer un bouton radio coché par défaut (le bouton tous, par exemple).
<input id="bouton-prospect" name="bouton" type="radio" value="prospect" onClick="document.forms.fm.submit()" 
<?php
if(isset ($_POST['bouton']) && $_POST['bouton']=="prospect") echo 'checked';
?> > <label for="bouton-prospect">prospect(s)</label>&nbsp;
<input id="bouton-client" name="bouton" type="radio" value="client" onClick="document.forms.fm.submit()" 
<?php
if(isset ($_POST['bouton']) && $_POST['bouton']=="client") echo 'checked';
?> > <label for="bouton-client">client(s)</label>&nbsp;
<input id="bouton-tous" name="bouton" type="radio" value="tous" onClick="document.forms.fm.submit()"
<?php
if(!isset ($_POST['bouton']) || (isset ($_POST['bouton']) && $_POST['bouton']=="tous")) echo 'checked';
?> > <label for="bouton-tous">tous</label>
<input type="submit" value="Trier">
En même temps, j'en profite pour suggérer une amélioration du code, en ajoutant des étiquettes (éléments LABEL) permettant d'associer chaque bouton radio à son intitulé respectif (de façon à ce qu'on puisse sélectionner le bouton correspondant rien qu'en pointant sur son intitulé), ainsi qu'un bouton de validation (utile pour ceux qui utilisent un navigateur où JavaScript est désactivé ou non pris en charge, bouton que tu peux masquer en JavaScript si tu as un script validant le choix du bouton radio). ;)