Cocher un seul bouton radio (nom différents)

cam2207 Messages postés 51 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour à tous,

J'ai un tableau qui se génère automatiquement en fonction du nombre d'entrée dans ma base de données.
Dans ce tableau il y a, a la fin de chaque ligne, un bouton radio permettant la modification et un autre permettant la suppression.
Je ne veut pouvoir sélectionner qu'un seul bouton radio sur toute ma page (pour éviter les conflis). Cependant la structure de mon code ne me permet pas que les boutons radios est le même nom.

Je pense qu'il existe une solution en JavaScript (ou autre ?), permettant d'autoriser seulement un bouton radio d'être coché.

En algo ca donne ca :

Si (le nombre de bouton radio coché > 1) Alors
BoutonRadioCoché(i-1)=Décoché // Le bouton radio qui a été coché avant est décoché
FinSi

Je vous remercie pour vos réponses.
A voir également:

3 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Bonjour,

Tu as qqs anomalies au niveau des ' dans une chaine qui commence par ' notamment dans le onChange

Une solution entièrement php:
tu les nommes tous pareil, donc ils s'excluent eux mêmes.
<td><input type="radio" name="selection" value="<?php echo "mod_".$row->id; ?>">Modifier</td>
<td><input type="radio" name="selection" value="<?php echo "sup_".$row->id; ?>">Supprimer</td>

et pour récuperer
<?php
$selection=$_POST['selection'];
//on sépare la partie action de la partir id concerné
$action=substr($selection,0,4);
$id=substr($selection,4);
if($action=="mod_"){

	//tes instructions pour la modif

}elseif($action=="sup_"){

	//tes instructions pour la suppression
}
?>


il y a une autre solution avec un peu de Javascript:

Le JS va modifier le champ caché 'action'

<td><input type="radio" name="selection" value="<?php echo $row->id; ?>" onClick="document.getElementById('action').value='modifier';">Modifier</td>
<td><input type="radio" name="selection" value="<?php echo $row->id; ?>" onClick="document.getElementById('action').value='supprimer';">Supprimer</td>
<input type="hidden" name="action" id="action" value="">
et pour récuperer
<?php
$id=$_POST['selection'];
$action=$_POST['action'];
if($action=="modifier"){

	//tes instructions pour la modif

}elseif($action=="supprimer"){

	//tes instructions pour la suppression
}
3
Alain_42 Messages postés 5413 Statut Membre 894
 
Bonsoir,

Pourquoi ne pas mettre le même nom a tous tes boutons radio, mais avec une value="..." différente ?
0
cam2207 Messages postés 51 Statut Membre 1
 
Parce que :

<td><input type='radio' onClick='document.getElementById('action').value='modifier';' name='modifier' value='$row->id'></td>
<td><input type='radio' onClick='document.getElementById('action').value='supprimer';' name='supprimer' value='$row->id'></td></tr>

j'ai besoin de la valeur pour récupérer l'identifiant de la ligne en question
0