Formulaire avec une liste déroulante sur des exemples css. Création et utilisation de formulaires en html. II. Saisie de données via une boucle

Au cours des deux dernières années, le développement d'applications Web (sites) a beaucoup progressé et ce que nous utilisions pour créer un site auparavant est obsolète ou de nouvelles méthodes sont apparues.

Auparavant, pour créer une liste déroulante en html ( en anglais. - menu déroulant), nous venons d'utiliser est utilisé pour créer une liste déroulante (déroulante) qui apparaît lorsque vous cliquez sur un élément de formulaire et permet au visiteur du site de sélectionner l'une des options prédéfinies.

Élément vous pouvez ajouter l'attribut sélectionné à l'option souhaitée :

La largeur de la liste déroulante sera déterminée par le plus texte long spécifié dans la balise

Les attributs

autofocus : Indique que l'élément doit recevoir automatiquement le focus lorsque la page Web est chargée. Valeurs possibles pour l'attribut booléen autofocus : Exemple »form : spécifie le formulaire auquel l'élément est associé. La valeur de l'attribut est l'identifiant de l'élément
... Cet attribut permet de positionner l'élément Exemple "

Remarque : en raison des différentes manières de sélectionner plusieurs éléments et de la notification supplémentaire aux utilisateurs que plusieurs sélections sont disponibles, il est recommandé d'utiliser des cases à cocher au lieu de la liste déroulante.

Nom : spécifie le nom de la liste déroulante. Il peut être utilisé pour accéder aux données d'un formulaire après sa soumission, ou pour référencer un élément en JavaScript. taille : Indique le nombre d'options visibles dans la liste déroulante. Si l'attribut size est supérieur à 1 mais inférieur au nombre total d'options dans la liste, le navigateur ajoutera automatiquement une barre de défilement pour indiquer qu'il y a plus d'options à afficher.

La balise HTML d'option est utilisée pour créer une liste déroulante qui permet à l'utilisateur de sélectionner une option à partir d'un ensemble prédéfini de valeurs.

Le texte visible par l'utilisateur peut être différent du texte spécifié dans l'attribut value. Voici comment créer une liste déroulante :

  • La liste déroulante est créée à l'aide de la balise définit les options de sélection à l'aide d'une balise
  • Dans la balise

Il est également possible de spécifier une classe CSS au lieu d'utiliser un ID pour définir le style de la liste déroulante.

Dans la section suivante, je montrerai des exemples d'utilisation de la liste déroulante HTML dans JavaScript / JQuery. Les exemples vous montreront également comment styliser

Utilisation de l'attribut value

Comme mentionné précédemment, la valeur de l'attribut value peut être différente du texte affiché sur la page. Par exemple, vous pouvez afficher les noms de pays ou de couleurs pour les utilisateurs et utiliser des codes courts dans l'attribut value.

Dans l'exemple suivant, nous allons créer une liste déroulante avec un attribut value :

Voir la démo en ligne et le code

Pour l'étiquette

Exemple d'accès à une option sélectionnée en JavaScript

Créons maintenant un exemple d'accès à la valeur de l'option sélectionnée et d'exécution de certaines actions. Nous créons la même liste que dans l'exemple ci-dessus avec des options de sélection de couleurs. Une fois sélectionné, cliquez sur le bouton pour appliquer cette couleur à votre document :

Voir la démo en ligne et le code

La valeur de l'option HTML utilise le code suivant :

La ligne de code suivante est utilisée en JavaScript pour accéder à la valeur de l'attribut value d'une variante le sens est différent du texte. Après avoir choisi une couleur, jQuery affiche le texte visible dans l'alerte. Code de balise

Voici comment cette valeur est accessible dans Option de sélection HTML sélectionnée JavaScript:

var selectedcolor = $ ("# option jqueryselect : sélectionné"). text ();

Il est également possible d'accéder à la valeur en utilisant la méthode JQuery $ .val() :

var selectedcolor = $ ("# jqueryselect"). val ();

Remplacez cette ligne dans l'exemple ci-dessus et le code affichera la valeur shortcode/couleur dans l'attribut value plutôt que le texte visible.

Un exemple d'obtention d'une valeur dans un script PHP

Dans cet exemple d'obtention de la valeur de l'option sélectionnée dans la liste déroulante, le formulaire est créé à l'aide de la balise

Et voici comment le script PHP est utilisé pour obtenir la valeur de l'option de sélection HTML :

". $ _POST [" selphp "]..""; } ?>

Si le formulaire précise GET méthode puis utiliser Tableau PHP $ _GET [“”].

Définir des styles de liste déroulante avec CSS

Voyons maintenant comment définir les styles de la liste déroulante

Dans ce cas, ce qui est affiché entre les parties d'ouverture et de fermeture de l'option, vous le verrez à l'écran, et la valeur contenue dans l'attribut value sera envoyée au serveur ou traitée à l'aide d'un script.

La liste en html peut être régulière ou à choix multiples. Pour permettre la sélection de plusieurs éléments, vous devez ajouter un attribut multiple vide à sélectionner. Pour sélectionner plusieurs valeurs, maintenez ctrl et appuyez sur le bouton gauche de la souris.

Un autre attribut utile est la taille. Il vous permet de choisir le nombre de lignes à afficher dans la liste déroulante.

Un autre attribut est désactivé. Cela rend la liste inaccessible pour cliquer et afficher les éléments, mais en même temps elle est visible sur la page.

Obligatoire - attribut html5. Si spécifié, le formulaire ne sera pas soumis sans sélectionner une valeur dans la liste déroulante. En général, il devient un incontournable de la sélection. Alors que l'attribut ne fonctionne pas dans tous les navigateurs.

Attributs de balise d'option

En fait, select sert uniquement de conteneur pour les éléments de liste, ils sont eux-mêmes définis à l'aide de la balise option. Il a un paramètre de valeur, comme nous l'avons déjà découvert, mais à côté de cela il y en a d'autres. Par exemple:
Désactivé - rend l'élément de liste indisponible pour la sélection. Il sera affiché, mais vous ne pourrez pas cliquer dessus.

Sélectionné - l'élément sera sélectionné par défaut. Dans une liste ordinaire, cet attribut sans valeur peut être défini sur un seul élément, dans une liste plurielle - sur plusieurs.

Clarification importante pour un bon fonctionnement

Si le résultat de la sélection doit être envoyé au serveur ou traité via des scripts, placez la sélection dans le formulaire afin qu'aucune erreur ne se produise. Le fait est que la liste déroulante a été créée à l'origine exactement comme l'un des éléments du formulaire.

A quoi sert la sélection ?

Généralement, cela peut vous être utile si vous vous inscrivez sur votre site, ou si vous souhaitez mener un sondage. L'élément a un inconvénient - il ne change pas très bien apparence via css.

Par défaut, lorsque vous cliquez sur la liste, un cadre bleu apparaît, la même couleur est utilisée pour mettre en évidence les éléments de la liste sur lesquels le curseur survole. Pour éviter que le cadre n'apparaisse lorsque vous appuyez dessus, ou pour qu'il soit mis en évidence dans une couleur différente, vous pouvez écrire un sélecteur comme celui-ci :

Sélectionnez : mise au point (
contour : 1 pixels orange uni ;
}

Le cadre sera désormais orange.

L'option peut également être stylisée, mais lorsque vous survolez un élément, son arrière-plan devient bleu et, pour une raison quelconque, il ne change pas à travers les styles.

Option (
couleur marron;
fond : aqua ;
}

Au fait, peut-être que certains d'entre vous savent comment changer Couleur de l'arrière plan lors du survol d'un élément via css ?

C'est, en fait, tout pour la balise select et son utilisation. Non opportunités supplémentaires en html ce n'est pas prévu pour ça. Toutes les autres opérations peuvent être effectuées avec en utilisant javascript et php. Par exemple, si vous devez créer une liste pour choisir l'année de naissance et qu'il peut y avoir 80 à 100 options différentes, cela vous dérangerait-il de les écrire à la main ?

C'est exactement ce dont vous avez besoin pour utiliser la programmation, à savoir une boucle. Bon, d'accord, c'est déjà un sujet pour une autre conversation, mais pour aujourd'hui ce sont toutes les informations que je voulais vous dire. Vous pouvez vous familiariser avec d'autres balises de base en html.

Dans le processus de création d'un site Web ou d'un blog et de son remplissage ultérieur avec du contenu, pour diverses raisons, il devient parfois nécessaire de masquer une partie du texte, de placer des informations plus volumineuses dans un bloc masqué pour le moment, mais en même temps indiquer à l'utilisateur qu'il y a autre chose, et lui donner la possibilité de visualiser le contenu caché sans passer à la ligne ou à la page suivante.
Auparavant, beaucoup de javascript était utilisé pour implémenter cette solution, mais maintenant tout peut être fait très facilement en utilisant des propriétés étonnantes.

Aujourd'hui, nous allons considérer la manière la plus simple créer sur les pages du site et dans les messages individuels, des blocs cachés avec du contenu qui s'ouvrent lorsque vous cliquez sur un élément spécifique du texte, en utilisant exclusivement des propriétés CSS3. Un seul mot ou une phrase sélectionnée, ainsi qu'une phrase entière, ou une icône informative peuvent servir de commutateur.
De tels blocs sont souvent utilisés sur des pages avec une grande quantité de contenu, afin de le rendre plus structuré et compact, tandis que tout le contenu est divisé en soi-disant groupes, dans lesquels seuls les en-têtes sont présentés à l'utilisateur pour visualisation, tout le texte est masqué par défaut et visible en cliquant sur un élément spécifique (voir ci-dessus).

Essayons de faire sans eau inutile, voyons tout ce mécanisme simple en action, avec un exemple illustratif, vous pouvez également modifier quelque chose si vous le souhaitez :

Exemple 1

Dans le rôle des commutateurs des blocs déroulants avec des informations supplémentaires, du texte non sélectionné et non marqué est utilisé, avec une proposition sans ambiguïté de cliquer dessus, ce que vous devez faire sans crainte ni doute pour voir)))

Comme vous pouvez le voir, tout fonctionne bien, le contenu caché apparaît sans problème ou disparaît d'un léger clic de souris, et en même temps nous avons utilisé le minimum de code exécutable, à la fois dans le cadre html et dans la formation de css modes. Sans connexion de bibliothèques javascript supplémentaires, avec l'éternelle alarme, et non si elles sont désactivées côté utilisateur.
Tout cela est possible grâce à la pseudo-classe CSS3. : vérifié appliqué aux éléments d'interface tels que les boutons radio (). Ce que nous avons réellement fait, dans le tag nous avons attribué la valeur de la case à cocher à l'attribut type, ainsi que l'identifiant id = "hd-1" correspondant à l'identifiant unique pour = "hd-1" basculement du bloc courant. Cachez les cases à cocher de manière complète et permanente, en enregistrant la propriété display dans la classe .hide : none;
En fait, il n'y a rien de spécial à expliquer ici, tout le mécanisme d'activation et de désactivation des blocs cachés se compose de trois éléments :

J'espère qu'à partir de mon explication confuse, il est toujours devenu clair quel est le tour. CSS applique de nouveaux styles (en utilisant la pseudo-classe vérifié) pour afficher un bloc de contenu qui était auparavant masqué uniquement lorsque l'utilisateur clique sur un élément associé à une case à cocher par un identifiant unique.

De tout cela découle note importante:

lorsque vous utilisez plusieurs cases masquées sur la même page, chaque bouton radio doit avoir un identifiant unique différent des identifiants des autres cases.

Donc, en mots, nous avons compris où et pourquoi, regardons maintenant le squelette HTML de l'ensemble de la construction :

< input class = "hide" id= "hd-1" type= "checkbox" > < label for = "hd-1" >Cliquez ici pour ouvrir ! < div>Contenu caché... < input class = "hide" id= "hd-2" type= "checkbox" > < label for = "hd-2" >Cliquez ici pour en lire plus! < div>Contenu caché...

Contenu caché...
Contenu caché...

Ensuite, nous allons directement à la formation Styles CSS, sans laquelle toute cette structure ne fonctionnera pas. Le strict minimum de code, sans aucune décoration, a juste un peu mis en valeur le fond du bloc déroulant pour définir pour vous et afficher les cadres du texte caché. Vous pouvez concevoir des blocs comme vous le souhaitez, accrocher des bordures, des coins arrondis, surligner du texte ou autre.

1. CSS

... cacher,. masquer + étiquette ~ div (affichage : aucun ;) / * type de texte d'étiquette * /... masquer + étiquette,. masquer : coché + étiquette (remplissage : 0 ; couleur : vert ; curseur : pointeur ; bordure en bas : 1px en pointillé vert ;). hide : coché + label + div (affichage : bloc ; fond : #efefef ; - moz- box- shadow : inset 3px 3px 10px # 7d8e8f ; - webkit- box- shadow : inset 3px 3px 10px # 7d8e8f ; box- shadow : inset 3px 3px 10px # 7d8e8f ; remplissage : 10px ;)

/ * masquer les cases à cocher et les blocs avec le contenu * / .hide, .hide + label ~ div (affichage : aucun ;) / * vue texte du label * / .hide + label, .hide : coché + label (remplissage : 0 ; couleur : vert ; curseur : pointeur ; bordure en bas : 1px en pointillé vert ;) / * vue du texte de l'étiquette avec le commutateur actif * / .hide : coché + étiquette (couleur : rouge ; bordure en bas : 0 ;) / * lorsque la case à cocher est afficher les blocs actifs avec contenu * / .hide : coché + étiquette + div (affichage : bloc ; arrière-plan : #efefef ; -moz-box-shadow : inset 3px 3px 10px # 7d8e8f ; -webkit-box-shadow : inset 3px 3px 10px # 7d8e8f; box-shadow: inset 3px 3px 10px # 7d8e8f; padding: 10px;)

C'est tout, pour un exemple ascétique, un minimum bien suffisant. Mais après tout, nous ne serons pas du tout nous, si nous n'accrochons pas au moins quelques petits pains, et il vaut mieux que l'utilisateur indique visuellement où cliquer.
Dans le deuxième exemple, j'ai ajouté un simple symbole sous la forme d'un plus, qui indique clairement que quelque chose d'autre est caché ici, lorsqu'on appuie dessus, il se transforme instantanément en moins, et aux blocs cachés avec du contenu, j'ai foutu une petite animation quand il apparaît, et tout cela est exclusivement avec l'aide magique de CSS3.

2. CSS

/ * masquer les cases à cocher et les blocs de contenu * /... cacher,. masquer + étiquette ~ div (affichage : aucun ;) / * type de texte d'étiquette * /... masquer + étiquette (marge : 0 ; remplissage : 0 ; couleur : vert ; curseur : pointeur ; affichage : bloc en ligne ;) / * type de texte d'étiquette avec commutateur actif * /... masquer : coché + étiquette (couleur : rouge ; bordure en bas : 0 ;) / * lorsque la case à cocher est active, affiche les blocs avec le contenu * /... hide : coché + label + div (affichage : bloc ; fond : #efefef ; - moz- box- shadow : inset 3px 3px 10px # 7d8e8f ; - webkit- box- shadow : inset 3px 3px 10px # 7d8e8f ; box- shadow : inset 3px 3px 10px # 7d8e8f ; marge gauche : 20 px ; rembourrage : 10px ; / * un peu d'animation lorsqu'elle apparaît * /- webkit- animation : fade easy- in 0.5s ; - animation moz : facilité de fondu en 0,5 s ; animation : facilité de fondu en 0,5 s ; ) / * animation lorsque des blocs cachés apparaissent * /@ - moz- keyframes fondu (de (opacité: 0;) à (opacité: 1)) @ - webkit- keyframes fondu (de (opacity: 0;) à (opacité: 1)) @ keyframes fondu (de (opacity:) 0;) à (opacité : 1)). masquer + étiquette : avant (couleur de fond : # 1e90ff ; couleur : #fff ; contenu : " \ 002B "; bloc de visualisation; flotteur : gauche ; taille de la police : 14px ; poids de police : gras ; hauteur : 16px ; hauteur de ligne : 16px ; marge : 3px 5px ; text-align : centre ; largeur : 16px ; - webkit- border-rayon : 50 % ; - moz-border-rayon : 50 % ; rayon de la frontière : 50 % ; ). hide : coché + libellé : avant (contenu : " \221 2" ; }

/ * masquer les cases à cocher et les blocs avec le contenu * / .hide, .hide + label ~ div (affichage : aucun ;) / * texte type label * / .hide + label (marge : 0 ; remplissage : 0 ; couleur : vert ; curseur : pointeur; display: inline-block;) / * vue du texte de l'étiquette lorsque le commutateur est actif * / .hide: coché + étiquette (couleur: rouge; border-bottom: 0;) / * lorsque la case à cocher est active, afficher les blocs avec le contenu * /. masquer : coché + étiquette + div (affichage : bloc ; arrière-plan : #efefef ; -moz-box-shadow : inset 3px 3px 10px # 7d8e8f; -webkit-box-shadow : inset 3px 3px 10px # 7d8e8f; box-shadow: inset 3px 3px 10px # 7d8e8f; margin-left: 20px; padding: 10px; / * quelques animations sur le fondu * / -webkit-animation: fade easy-in 0.5s; -moz-animation: fade easy -en 0,5s ; animation : fondu en douceur en 0,5s ;) / * animation lorsque des blocs cachés apparaissent * / @ -moz-keyframes fondu (de (opacité : 0 ;) à (opacité : 1)) @ -webkit-keyframes fondu (de (opacité : 0 ;) à (opacité : 1)) @keyframes fondu (de (opacité : 0 ;) à (opacité : 1) )) .hide + label : avant (couleur de fond : # 1e90ff ; couleur : #fff ; contenu : "\ 002B" ; bloc de visualisation; flotteur : gauche ; taille de la police : 14px ; font-weight : gras ; hauteur : 16px ; hauteur de ligne : 16px ; marge : 3px 5px ; text-align : centre ; largeur : 16px ; -webkit-border-radius : 50 % ; -moz-border-rayon : 50 % ; rayon de bordure : 50 % ; ) .hide : coché + libellé : avant (contenu : "\ 2212";)

Au dire de tous, la méthode est sans aucun doute bonne, mais comme toujours, sans surprise du tout, des problèmes surviennent avec l'éternel frein au progrès, le navigateur IE, la pseudo-classe vérifié ne prend en charge que les versions 9e et supérieures de ce navigateur. Pour les anciennes versions d'IE, tout reste pareil, il faut utiliser javascript.

En utilisant des cases à cocher cachées, vous pouvez facilement implémenter des blocs de style, des curseurs, des galeries et plus encore.

Avec tout mon respect, André

2021 wisemotors.ru. Comment ça fonctionne. Le fer. Exploitation minière. Crypto-monnaie.