Existe-t-il un moyen (avec un indicateur d'attribut ou quelque chose du genre) d'activer les champs de formulaire désactivés pour soumettre des données?
Ou, si cela n'est pas possible, y a-t-il un moyen d'empêcher l'édition de champs avec css ou tout autre attribut que désactivé sans les masquer?
Mon cas particulier pour le moment est un identifiant pour un ensemble de données qui devrait apparaître sous la forme (non modifiable) - s'il n'y a pas de meilleure solution, je pense que j'utiliserai un champ caché en plus du champ désactivé pour contenir le contenu réel. valeur avec le handicapé le montrant.
Commander l'attribut readonly http://www.w3schools.com/tags/att_input_readonly.asp
Les éléments avec l'attribut Disabled
ne sont pas soumis ou vous pouvez dire que leurs valeurs ne sont pas publiées.
c'est à dire.
<input type="textbox" name="Percentage" value="100" disabled="disabled" />
Pour votre information,
Vous pouvez utiliser l'attribut readonly
dans votre cas, ce qui vous permettra de publier les données de votre champ.
c'est à dire.
<input type="textbox" name="Percentage" value="100" readonly="readonly" />
Pour votre information,
Remarque: READONLY ne fonctionne pas avec les cases à cocher et les balises de sélection
Comme il a déjà été mentionné: READONLY
ne fonctionne pas pour <input type='checkbox'>
et <select>...</select>
.
Si vous avez un Form
avec des cases à cocher/sélections désactivées ET si vous avez besoin de les soumettre, vous pouvez utiliser jQuery:
$('form').submit(function(e) {
$(':disabled').each(function(e) {
$(this).removeAttr('disabled');
})
});
Ce code supprime l'attribut disabled
de tous les éléments lors de l'envoi.
Utilisez les événements de pointeur CSS: aucun sur les champs que vous souhaitez "désactiver" (éventuellement avec un arrière-plan grisé) qui permet l'action POST, comme:
<input type="text" class="disable">
.disable{
pointer-events:none;
background:grey;
}
Réf.: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
Nous pouvons également utiliser le readonly uniquement avec les attributs ci-dessous -
en lecture seule onclick = 'return false;'
En effet, si nous n'utilisons que le mode lecture seule, les boutons radio seront modifiables. Pour éviter cette situation, nous pouvons utiliser en lecture seule la combinaison ci-dessus. Cela limitera l'édition et les valeurs de l'élément seront également transmises lors de la soumission du formulaire.
ajoutez CSS ou la classe à l'élément d'entrée qui fonctionne dans les balises select et text comme
style = "pointer-events: none; background-color: # E9ECEF"