Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Afficher le "value" d'une liste


Malabarbe

Messages recommandés

Bonjour à tous,

 

Ce que je voudrais, c'est dès avoir cliqué sur

un élément de la liste, afficher le choix.

 

Mes nombreux tests n'ont aboutis a rien !

 

Quand je change de liste, l'affichage de l'autre

s'efface et vice & versa.

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 8</title>
</head>
<body>
<?PHP
	  $aTab = array (
		'Sélectionnez l\'année' => array (''),
		'Année  2007' => array ('2007'),
		'Année  2008' => array ('2008'),
		'Année  2009' => array ('2009'),
		);
?>
<form method="post" id="mainForm">
	<p align="center">
	<select name="liste1" onchange="document.getElementById('mainForm').submit();">
<?php
	  foreach ($aTab as $clef => $dump)
	  {
		$selected=(isset($_POST['liste1'])& $_POST['liste1'] == $clef);
		echo '<option value="'.$dump[0].'">',$clef,'</option>';
	  }

?>

	</select>
   </p>
   </form>

<BR><BR>

<?PHP
	  $aTab2 = array (
		'Sélectionnez le mois' => array (''),
		'Janvier' => array ('Janvier'),
		'Février' => array ('Février'),
		'Mars' => array ('Mars'),
		);
?>
<form method="post" id="dem_ann">
	<p align="center">
	<select name="liste2" onchange="document.getElementById('dem_ann').submit();">
<?php
	  foreach ($aTab2 as $clef2 => $dump2)
	  {
		$selected=(isset($_POST['liste2'])& $_POST['liste2'] == $clef2);
		echo '<option value="'.$dump2[0].'">',$clef2,'</option>';
	  }
?>
	</select>
   </p>
   </form>

<BR><BR>

<?PHP
echo "Votre sélection année : ".$_POST['liste1'];
echo "<BR>";
echo "Votre sélection mois  *: ".$_POST['liste2'];

?>
</body>
</html>

Si vous avez une idée ?

Lien vers le commentaire
Partager sur d’autres sites

C'est parce qu'au rechargement de la page, tu ne conserves pas les choix faits précédemment.

Lorsque tu génères tes listes, il faut que tu testes si la value de l'option est égale à la valeur éventuellement reçue en POST, auquel cas il faut ajouter selected="selected" en attribut de la balise <option>

Tu as déjà la moitié du boulot qui est faite (tester l'égalité des valeurs) avec la variable $selected mais tu ne t'en sers pas... Pour quelle raison ?

 

Note : je pense que c'est une perte de temps et de bande passante de faire un aller-retour serveur à chaque changement de valeur dans la liste, mais comme tu ne précises pas ce que doivent devenir tes deux listes déroulantes, difficile de déterminer s'il faut te conseiller d'utiliser du Javascript pour gérer tes éléments côté client....

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...