C'est ce que j'ai trouvé par Firebug dans Firefox.
Est-ce la même chose dans les autres navigateurs?
Si oui, quelle est la raison de cela?
Oui, tous les navigateurs ne doivent pas soumettre les entrées désactivées, car elles sont en lecture seule.
Plus d'informations (section 17.12.1)
Définitions d'attributs
disabled [CI] Lorsqu'il est défini pour un contrôle de formulaire, cet attribut booléen désactive le contrôle pour une entrée utilisateur. Lorsqu'il est défini, l'attribut disabled a les effets suivants sur un élément:
- Les contrôles désactivés ne reçoivent pas le focus.
- Les contrôles désactivés sont ignorés dans la navigation par tabulation.
- Les contrôles désactivé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é, mais les déclarations locales remplacent la valeur héritée.
Le rendu des éléments désactivés dépend de l'agent utilisateur. Par exemple, certains agents utilisateurs "grisés" des éléments de menu, des étiquettes de bouton, etc. désactivés.
Dans cet exemple, l'élément INPUT est désactivé. Par conséquent, il ne peut pas recevoir d’entrée utilisateur et sa valeur ne sera pas soumise avec le formulaire.
<INPUT disabled name="fred" value="stone">
Remarque. La seule façon de modifier de manière dynamique la valeur de l'attribut désactivé consiste à utiliser un script.
disabled
l'entrée ne soumettra pas de données.
Utilisez l'attribut readonly
:
<input type="text" readonly />
Ils ne sont pas soumis, car c'est ce qui est écrit dans la spécification W3C .
17.13.2 Contrôles réussis
Un contrôle réussi est "valide" pour la soumission. [couper]
- Les contrôles désactivés ne peuvent pas réussir.
En d'autres termes, la spécification indique que les contrôles désactivés sont considérés comme non valides et ne doivent pas être soumis.
Vous pouvez utiliser trois choses pour imiter désactivé:
HTML: readonly
attribut (afin que la valeur présente en entrée puisse être utilisée lors de la soumission du formulaire. De plus, l'utilisateur ne peut pas modifier la valeur en entrée)
CSS: 'pointer-events':'none'
(empêchant l'utilisateur de cliquer sur l'entrée)
HTML: tabindex="-1"
(empêchant l'utilisateur d'accéder à l'entrée à partir du clavier)
Les contrôles Disabled
ne peuvent pas aboutir et un contrôle réussi est "valide" pour la soumission. C'est la raison pour laquelle les contrôles désactivés ne sont pas soumis avec le formulaire.