Les valeurs des entrées désactivées ne seront pas soumis
-
20-09-2019 - |
Question
Ce que j'ai trouvé par Firebug dans Firefox.
Est-ce la même chose dans d'autres navigateurs?
Si oui, quelle est la raison?
La solution
Oui, tous navigateurs ne devraient pas soumettre les entrées désactivées, car ils sont en lecture seule.
Plus d'informations (section 17.12.1)
Définition des attributs
[CI] désactivé Lorsqu'il est réglé pour un contrôle de formulaire, cet attribut booléen désactive la commande pour l'entrée d'utilisateur. Lorsqu'il est défini, l'attribut désactivé a les effets suivants sur un élément:
- les contrôles handicapés ne reçoivent pas le focus.
- les contrôles handicapés sont sautées dans navigation tabulée.
- les contrôles handicapés ne peuvent pas réussir.
Les éléments suivants prennent en charge l'attribut disabled: BUTTON, INPUT, OPTGROUP, OPTION, SELECT et TEXTAREA.
Cet attribut est héritée, mais des déclarations locales remplacer le valeur héritée.
Comment les éléments sont rendus handicapés dépend de l'agent utilisateur. Pour par exemple, certains agents utilisateurs « gris sur » les éléments de menu désactivés, bouton étiquettes, etc.
Dans cet exemple, l'élément d'entrée est désactivé. Par conséquent, il ne peut pas recevoir une entrée d'utilisateur, ni sa valeur sera soumise à la forme.
<INPUT disabled name="fred" value="stone">
Note. La seule façon de modifier dynamiquement la valeur des handicapés attribut est par un script.
Autres conseils
entrée disabled
ne soumettra pas les données.
Utilisez l'attribut readonly
:
<input type="text" readonly />
Ils ne sont pas soumis, parce que c'est ce qu'il dit dans la spécification du W3C.
17.13.2 contrôles réussis
Un contrôle réussi est « valide » pour la soumission. [Snip]
- Les contrôles qui sont désactivés ne peuvent pas réussir.
En d'autres termes, la spécification dit que les contrôles qui sont désactivés sont considérés comme non valides et ne doivent pas être soumises.
Vous pouvez utiliser trois choses pour imiter disabled:
-
HTML: attribut
readonly
(. De telle sorte que la valeur actuelle en entrée peut être utilisé sur la soumission du formulaire En outre l'utilisateur ne peut pas changer la valeur d'entrée) -
CSS:
'pointer-events':'none'
(blocage de l'utilisateur de cliquer sur l'entrée) -
HTML:
tabindex="-1"
(bloquer l'utilisateur pour accéder à l'entrée du clavier)
contrôles Disabled
ne peuvent pas réussir, et un contrôle réussi est « valide » pour la soumission.
Ceci est la raison pour laquelle les contrôles handicapés ne se soumettent pas à la forme.