Maison >interface Web >js tutoriel >Comment simuler un attribut en lecture seule pour les balises de sélection HTML tout en conservant les données POST ?
Émulation des attributs en lecture seule pour les balises de sélection HTML tout en conservant les données POST
En HTML, la balise de sélection n'a pas d'attribut dédié en lecture seule, avec seulement un attribut désactivé disponible. Cependant, la désactivation des entrées de formulaire empêche leur inclusion dans les requêtes POST ou GET.
Pour résoudre ce problème, une solution de contournement consiste à désactiver l'élément select et à ajouter une entrée masquée avec le même nom et la même valeur. Lorsque l'élément select est activé, sa valeur est copiée dans l'entrée masquée, imitant efficacement un attribut en lecture seule.
Voici un exemple d'implémentation :
$('#mainform').submit(function() { $('#formdata_container').show(); $('#formdata').html($(this).serialize()); return false; }); $('#enableselect').click(function() { $('#mainform input[name=animal]') .attr("disabled", true); $('#animal-select') .attr('disabled', false) .attr('name', 'animal'); $('#enableselect').hide(); return false; });
En manipulant l'attribut désactivé et en copiant les valeurs entre l'entrée select et l'entrée masquée, cette approche émule la fonctionnalité d'un attribut en lecture seule tout en permettant la publication des données.
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!