POST valeurs des éléments de forme réduite
-
25-10-2019 - |
Question
J'ai une forme dans laquelle je dois désactiver un tableau de cases à cocher et quelques champs afin que l'utilisateur ne peut pas changer / modifier leurs valeurs. Quand je soumets la forme cependant, les valeurs POST des éléments désactivés manquent / null. Comment puis-je gérer ce que je suis en train de le faire sans problème?
En ce moment, je désactiver les champs en désactivant le conteneur div comme ceci:
#unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-webkit-user-select: none;
cursor:not-allowed;
}
La solution
Eh bien, il y a 3 solutions que je peux penser:
- Faites-les
readonly
en ajoutant la propriétéreadonly
à l'élément. - les désactiver en CSS / JavaScript. La couleur comme il est désactivé et ne permet pas de modifier avec JavaScript,
- Laissez désactivé et supprimer les personnes handicapées sur soumettre.
Faites votre choix:)
Autres conseils
vous pouvez utiliser readonly
au lieu de disabled
Wich est presque le même pour l'utilisateur (ne peut pas être editet) mais les valeurs des éléments de readonly
-get soumis tandis que ceux de disabled
ne le font pas.
Notez qu'il ya d'autres différences entre readonly et Wich personnes handicapées pourrait conduire à d'autres problèmes pour vous:
L'attribut désactivé
- Les valeurs pour les éléments de forme réduite ne sont pas transmis à la méthode du processeur. Le W3C appelle cela un élément de succès. (Cela fonctionne comme cases à cocher de formulaire qui ne sont pas vérifiées.)
- Certains navigateurs peuvent remplacer ou fournir un style par défaut pour les éléments de formulaire handicapés. (Gris ou texte sur gaufrer) Internet Explorer 5.5 est particulièrement agressif à ce sujet.
éléments- formulaire handicapés ne reçoivent pas le focus.
- éléments de forme réduite sont ignorées dans la tabulation navigation.
Lecture seule attribut
- Tous les éléments de forme ont un attribut lecture seule. Le plus remarquable, les éléments, et n'ont pas readonly attributs (bien que tes deux ont des attributs handicapés)
- Les navigateurs ne fournissent aucune rétroaction visuelle défaut substituée que l'élément de forme est en lecture seule. (Cela peut être un problème ... voir ci-dessous).
- éléments forment avec l'ensemble d'attributs readonly sera passé au processeur de formulaire.
- Lire forme que des éléments peuvent recevoir le focus
- Lire forme que des éléments sont inclus dans la navigation par onglets.
Il n'y a pas beaucoup d'intérêt à envoyer les mêmes données çà et là.
Il suffit de laisser sur le côté serveur , puis l'utiliser sur soumettre.
Par ailleurs, en supposant que
utilisateur ne peut pas changer / modifier leurs valeurs.
est tout à fait stupide.
Vous pouvez utiliser « lecture seule » au lieu des personnes handicapées, ce qui devrait avoir pour effet voulu
Vous pouvez également utiliser le javascript pour soumettre votre formulaire, et pré soumettre un disable (activer: P)? Les différents champs