5568 sujets

Sémantique web et HTML

Bonjour

J’ai un formulaire Web où une saisie consiste à faire un choix sur chacun des quatre menus déroulants.

L’un des menus déroulants permet de choisir un jour de la semaine : Lundi, Mardi, …

Quand mon utilisateur fait des saisies, il fait ensemble toutes les saisies pour un jour de la semaine : celles de Lundi d’abord, celles de Mardi ensuite, …

Ca lui serait très pratique de sélectionner Mardi, par exemple, et de faire toutes les saisies de Mardi sans avoir à chaque saisie à sélectionner de nouveau Mardi dans le menu déroulant des jours de la semaine.

Est-il possible de mettre en œuvre un processus où le jour de la semaine, dans mon exemple, « colle » jusqu’à ce que l’utilisateur sélectionne un autre jour dans le menu déroulant ?

Par avance merci de votre aide.

Francois
Bonjour,

Je n'ai pas bien saisi comment ton formulaire est organisé actuellement (et comment il fonctionne), et ce que tu voudrais obtenir.
Tu aurais des mock-ups ou des prototypes HTML montrant différentes étapes de saisie?
bonjour

Mon formulaire est très simple: 4 menus déroulants (le jour de la semaine, ...) et un bouton Envoyer, rien d'autre, aucun champ de saisie.

L'utilisateur souhaite faire des saisies "en série": toutes les saisies du Mardi, ensuite celles du Mercredi,...

Il faudrait que la sélection du jour, le Mardi par exemple, dans le menu déroulant correspondant reste active après avoir été sélectionnée au long des saisies de ce jour jusqu'à ce que l'utilisateur sélectionne un autre jour, le Mercredi par exemple.

A l'inverse, actuellement, c'est le premier jour de la liste, le Lundi, qui est sélectionné par défaut.

Francois
Modifié par francoisch (08 Jul 2011 - 14:07)
francoisch a écrit :
Il faudrait que la sélection du jour, le Mardi par exemple, dans le menu déroulant correspondant reste active après avoir été sélectionnée au long des saisies de ce jour jusqu'à ce que l'utilisateur sélectionne un autre jour, le Mercredi par exemple.

Dans ce cas, tu peux rajouter un attribut selected sur l'élément OPTION correspondant.
bonjour et merci de ta réponse.

Si je comprend bien, l'attribut selected est statique dans le sens où il n'est pas modifiable suivant les saisies effectuées.

Je cherche, si possible, à ce que une sélection faite dans un menu reste "selected" tant qu'une autre sélection n'aura pas été faite dans ce menu.

Même en utilisant les ressources du Php, je ne vois pas comment rendre dynamique cette attribut selected.

Francois
Pour chaque option, tu testes pour voir si la variable soumise ($_POST['jour']) correspond à l'option (sa value). Si oui, tu ajoutes l'attribut selected.


<select name="jour">
  <option value="lundi" <?= $_POST['jour'] == 'lundi' ? 'selected="selected"' : '' ?>>Lundi</option>
  <option value="mardi" <?= $_POST['jour'] == 'mardi' ? 'selected="selected"' : '' ?>>Mardi</option>
  <option value="mercredi" <?= $_POST['jour'] == 'mercredi' ? 'selected="selected"' : '' ?>>Mercredi</option>
...
</select>
bonjour

J’ai repris ton code :

<select name="jour"> 
  <option value="lundi" <?= $_POST['jour'] == 'lundi' ? 'selected="selected"' : '' ?>>Lundi</option> 
  <option value="mardi" <?= $_POST['jour'] == 'mardi' ? 'selected="selected"' : '' ?>>Mardi</option> 
  <option value="mercredi" <?= $_POST['jour'] == 'mercredi' ? 'selected="selected"' : '' ?>>Mercredi</option> 
  <option value="jeudi" <?= $_POST['jour'] == 'jeudi' ? 'selected="selected"' : '' ?>>Jeudi</option> 
  <option value="vendredi" <?= $_POST['jour'] == 'vendredi' ? 'selected="selected"' : '' ?>>Vendredi</option> 
  <option value="samedi" <?= $_POST['jour'] == 'samedi' ? 'selected="selected"' : '' ?>>Samedi</option> 
</select> 


J’ai fait :
• Une saisie avec jour = vendredi
• Une autre saisie sans rien sélectionner pour le jour

La deuxième saisie a finalement eu comme jour = lundi, ce qui semble indiquer que la saisie précédente, avec vendredi, n’a pas persisté.

A ton avis ? Merci par avance de ton aide.

Francois
bonjour

J'ai fait une petite modification:

    <option value="lundi"    <?= $_POST['jour'] == 'lundi'    ? 'selected="selected"' : '' ; ?> >Lundi</option>  
	<option value="mardi"    <?= $_POST['jour'] == 'mardi'    ? 'selected="selected"' : '' ; ?> >Mardi</option> 
	<option value="mercredi" <?= $_POST['jour'] == 'mercredi' ? 'selected="selected"' : '' ; ?> >Mercredi</option> 
	<option value="jeudi"    <?= $_POST['jour'] == 'jeudi'    ? 'selected="selected"' : '' ; ?> >Jeudi</option> 
	<option value="vendredi" <?= $_POST['jour'] == 'vendredi' ? 'selected="selected"' : '' ; ?> >Vendredi</option> 
	<option value="samedi"   <?= $_POST['jour'] == 'samedi'   ? 'selected="selected"' : '' ; ?> >Samedi</option> 

en ajoutant un ; à la fin de chaque instruction mais sans changement.

Le jour sélectionné ne persiste pas à la saisie suivante.

Merci par avance de votre aide.

Francois