Garder choix Bouton Radio en réaffichage page

Résolu/Fermé
rjl Messages postés 543 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 25 mai 2019 - Modifié par rjl le 12/08/2012 à 13:43
rjl Messages postés 543 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 25 mai 2019 - 14 août 2012 à 13:15
Bonjour,

Le choix est basique M. ou Mme !
J'avais tenté CHECKED mais, à chaque réaffichage, il me restituait le choix par défaut !

Ensuite, j'ai supprimé le CHECKED et avait trouvé une solution qui me maintenait le choix utilisateur... ; par maladresse, je l'ai perdue et n'arrive plus à revenir à cette solution qui à chaque restauration de page me maintient le choix Bouton Radio.

Merci si vous pouvez me remettre sur la voie (de préférence sans le checked mais sans passer par JS non plus). RJL2812

Code actuel :
<label for="civil">&nbsp; &nbsp; &nbsp; &nbsp;  Civilité : </label>
	<input id="civil" name="civil" type="radio" value=<?php echo "M. " ?> />M. 
	<input name="civil" type="radio" value=<?php echo "Mme" ?> />Mme<br />


3 réponses

webdesignentreprise Messages postés 321 Date d'inscription mardi 1 mai 2012 Statut Membre Dernière intervention 1 juillet 2016 60
13 août 2012 à 02:53
Il faut que tu ajoutes un peu de PHP pour vérifier le choix de l'utilisateur:

<label for="civil">        Civilité : </label>
<input id="civil" name="civil" type="radio" value="M." <?php if($_POST['civil']=="M.")echo 'checked="checked"'; ?>/>M.
<input name="civil" type="radio" value="Mme" <?php if($_POST['civil']=="Mme")echo 'checked="checked"'; ?>/>Mme<br />

PS: Ca sert à rien ça: value=<?php echo "M. " ?>

A+
0
rjl Messages postés 543 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 25 mai 2019 49
Modifié par rjl le 13/08/2012 à 19:21
Bonjour webdesignentreprise,

Merci de ta réponse ; il me semble justement que la seule chose qui soit inutile est de vérifier les réponses utilisateurs puisque seul le bouton radio permet de les introduire et les codifie ("M. " ou "Mme"), dans mon cas ! Je ne vois vraiment pas comment une troisième valeur pourrait s'inviter ?

J'ai cependant trouvé une solution pour que la valeur du bouton radio cliqué soit récupérée ce qui évite un crash (valeur à NULL si rien de cliqué, ni valeur par défaut) et limite donc le problème ;

Cependant le bouton radio lui-même n'est pas réactivé ce qui est dommage pour l'utilisateur qui ne peut le savoir.
Le code est ainsi :
        <label for="civil">        
        <input id="civil"  name="civil" type="radio" value="M. " <?php if ($_POST['civil'] == 'M.' ) echo 'checked'; ?> />M.   
        <input     name="civil" type="radio" value="Mme" <?php if ($_POST['civil'] == 'Mme' ) echo 'checked'; ?> />Mme<br />

Merci si vous avez une piste pour réactiver le bon bouton radio.
RJL2813
0
webdesignentreprise Messages postés 321 Date d'inscription mardi 1 mai 2012 Statut Membre Dernière intervention 1 juillet 2016 60
14 août 2012 à 02:27
Il faut mettre checked="checked" et non pas seulement checked
0
rjl Messages postés 543 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 25 mai 2019 49
14 août 2012 à 13:15
Bonjour webdesignentreprise,

Merci de cette précision ; Finalement, le bouton radio est maintenant maintenu comme choisi en réaffichage de la page ; si ça peut rendre service, je communique le code :
        <label for="civil">&nbsp; &nbsp; &nbsp; &nbsp;  Civilité : </label>
<?php 
		{$civMme = 'checked="checked"'; $civM='';} // par défaut 
		if ($civil == 'M. ') {$civM = 'checked="checked"'; $civMme='';} // si homme
		if ($_POST['civil'] == 'M. ') {$civM = "checked"; $civMme="";}?>
        <input id="civM"   name="civil" type="radio" value="M. " <?php echo $civM ?> />M. 
        <input id="civMme" name="civil" type="radio" value="Mme" <?php echo $civMme ?> />Mme<br />

Je clos donc ce sujet. Encore merci et bonne journée RJL2814
0