Nous sommes actuellement le 28 Mars 2024, 16:23

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 5 message(s) ] 
Auteur Message
 Sujet du message: html selected="selected" + php
MessagePublié: 03 Juil 2012, 19:08 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Bonjour, j'aimerais savoir comment l'ont peut s'y prendre pour garder sélectionné un bouton radio créé dynamiquement lorsque la page est rechargée?

Je sais qu'on peut faire
Code :
<?php
if($_POST['monBouton'] == 'boutonMachin'){
$selection = 'selected="selected"' ;
}
else{ $value = '' ;}
?>

<input type="radio" name="liste" value="boutonMachin" <?php echo $selection ?> />


Dans mon cas, la value est générée dynamiquement par un foreach(). Je me suis dit qu'il faudrait que le string boutonMachin dans le if soit générée dynamiquement. Mais je me dit... si je fais ça:

Code :
if($_POST['liste'] == $_POST['liste'] ){echo 'selected="selected"';}


Ça vas toujours faire TRUE. Il faudrait utiliser un id qui serait différent pour chaque champ. Mais là, je dois tout faire un php. C'est pour l'école. Si je change le nom des champs, ils seront tous sélectionnables.

Pouvez-vous m'orienter?

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
MessagePublié: 04 Juil 2012, 12:48 
Hors-ligne
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription : 10 Déc 2001, 17:54
Message(s) : 1947
Localisation : Saint-Émile
Je suis pas sur de comprendre exactement, mais ça pourrais ressembler à ceci :
Code :
$ArrayValeurs = Array("boutonMachin", "boutonTruc", "autreTruc");
foreach ($ArrayValeurs as $valeur)
{
  $selection = $_POST[liste] == $valeur ? ' selected="selected"' : '';
  print "<input type=\"radio\" name=\"liste\" value=\"$valeur\"$selection /> $valeur\n";
}

_________________
Nicolas Ross
Administrateur du site Micro.Info,
Ingénieur, CyberCat


Dans la plupart des pays la vente de choses nocives, comme des drogues, est interdite.
Alors pourquoi les gens peuvent vendre les logiciels de Microsoft et rester impunis ?


Haut
 Profil  
Répondre en citant  
MessagePublié: 04 Juil 2012, 13:35 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Je ne suis pas certain de comprendre votre code.
Ce que j'ai besoin c'est d'aller chercher dynamiquement la value du bouton radio où je me trouve et la comparer avec celle qui a été envoyée par $_POST. En javascript je pourrais détecter quel bouton radio est activé. Mais en php j'ai juste ce qui est envoyé au serveur.

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
MessagePublié: 04 Juil 2012, 13:59 
Hors-ligne
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription : 10 Déc 2001, 17:54
Message(s) : 1947
Localisation : Saint-Émile
Le bouton ne sera pas envoyé au serveur avant que le formulaire ne soit envoyé... Ce qui est envoyé c'est la valeur. Dans dans votre exemple, $_POST["liste"] set égal à "boutonMachin" si c'est celui-là qui est créé.

Pour comprendre, pouvez-vous mettre votre code complet, avec le foreach ?

_________________
Nicolas Ross
Administrateur du site Micro.Info,
Ingénieur, CyberCat


Dans la plupart des pays la vente de choses nocives, comme des drogues, est interdite.
Alors pourquoi les gens peuvent vendre les logiciels de Microsoft et rester impunis ?


Haut
 Profil  
Répondre en citant  
MessagePublié: 05 Juil 2012, 10:01 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Je sais que le bouton ne sera pas envoyé au serveur. Bon, j'ai remit mon travail scolaire sans m'occuper du bouton radio. J'aimerais bien comprendre comment faire. Je vous ai envoyé mon code par message privé. Vous pourrez poster la solution ici mais ne postez pas le reste du code pour éviter la triche.

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 5 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site