Maison  >  Article  >  interface Web  >  Comment émuler la balise SELECT en lecture seule en HTML pour les données POST ?

Comment émuler la balise SELECT en lecture seule en HTML pour les données POST ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-16 10:22:02332parcourir

How to Emulate Readonly SELECT Tag in HTML for POST Data?

Émulation de la balise SELECT en lecture seule en HTML pour les données POST

Bien que la spécification HTML permette de désactiver l'élément SELECT avec l'attribut désactivé, cela empêche son valeur d'être incluse dans les requêtes POST ou GET. Cela pose un défi lorsque le comportement souhaité est d'empêcher les utilisateurs de modifier la sélection tout en conservant sa valeur pour la soumission.

Pour surmonter ce problème et obtenir une fonctionnalité en lecture seule tout en préservant les données POST, une approche en deux étapes est recommandée. :

  1. Gardez le SELECT désactivé : Conservez l'attribut désactivé sur l'élément SELECT pour empêcher l'utilisateur interaction.
  2. Ajouter une entrée cachée : Créez un élément d'entrée masqué avec le même attribut de nom que le SELECT et définissez sa valeur sur la valeur actuelle du SELECT.

Si vous souhaitez ultérieurement activer l'élément SELECT, suivez ces étapes :

  1. Réactivez SELECT : Supprimez l'élément désactivé du SELECT et redéfinissez son attribut de nom à sa valeur d'origine.
  2. Synchronisation avec l'entrée cachée : dans l'événement onchange du SELECT, copiez sa valeur dans l'entrée cachée pour garantir cohérence.

Voici un exemple de code pour illustrer cette approche :

<form>
$('#animal-select').change(function() {
  $('#animal').val($(this).val());
});

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn