J'ai lu un peu à ce sujet, mais je n'arrive pas à trouver quelque chose de solide sur la façon dont les différents navigateurs traitent les choses. Je construis une application qui doit être conforme à la Section 508 (accessible par un lecteur d'écran) et revenir à IE 6.
Réponses
Trop de publicités?un readonly
élément est tout simplement pas modifiable, mais est envoyé lorsque la fonction form
soumet. un disabled
élément n'est pas modifiable et n'est pas envoyé sur soumettre. une autre différence est que l' readonly
éléments peuvent être concentré (et d'être concentré lors de la "tabulation" par le biais d'un formulaire), tandis que disabled
éléments ne peuvent pas.
lire plus à ce sujet dans cet article ou la définition par le w3c. pour citer, la partie importante:
Les Principales Différences
Les personnes Handicapées de l'attribut
- Les valeurs pour les personnes handicapées des éléments de formulaire ne sont pas transmises au processeur de méthode. Le W3C appelle cela une réussite.(Cela fonctionne de la même pour forme de cases à cocher qui ne sont pas vérifiées.)
- Certains navigateurs peuvent remplacer ou de fournir de style par défaut pour les personnes handicapées des éléments de formulaire. (Gris ou estampage texte) Internet Explorer 5.5 est particulièrement désagréable à ce sujet.
- Personnes handicapées constituent des éléments à ne pas recevoir le focus.
- Désactivé les éléments de formulaire sont ignorés dans la navigation de tabulations.
L'Attribut Lecture Seule
- Pas tous les éléments de formulaire ont un attribut lecture seule. La plupart des notables, l'
<SELECT>
,<OPTION>
, et<BUTTON>
éléments ne sont pas en lecture seule attributs (bien que tes deux ont désactivé les attributs)- Les navigateurs offrent pas de valeur par défaut substituée retour visuel que l'élément de formulaire est en lecture seule. (Cela peut être un problème... voir ci-dessous).
- Les éléments de formulaire avec l'attribut lecture seule jeu sera adopté à la forme du processeur.
- Lire uniquement les éléments de formulaire peut recevoir le focus
- Lire uniquement les éléments de formulaire sont inclus dans les onglets de navigation.
Aucun événement n'est déclenché lorsque l'élément a un attribut désactivé.
Aucun des éléments ci-dessous ne sera déclenché.
$("[disabled]").click( function(){ console.log("clicked") });//No Impact
$("[disabled]").hover( function(){ console.log("hovered") });//No Impact
$("[disabled]").dblclick( function(){ console.log("double clicked") });//No Impact
Pendant que readonly sera déclenché.
$("[readonly]").click( function(){ console.log("clicked") });//log - clicked
$("[readonly]").hover( function(){ console.log("hovered") });//log - hovered
$("[readonly]").dblclick( function(){ console.log("double clicked") });//log - double clicked
Désactivé signifie qu'aucune donnée de cet élément de formulaire ne sera soumise lors de la soumission du formulaire. Lecture seule signifie que toutes les données de l'élément seront envoyées, mais elles ne peuvent pas être modifiées par l'utilisateur.
Par exemple:
<input type="text" name="yourname" value="Bob" readonly="readonly" />
Ceci soumettra la valeur "Bob" pour l'élément "yourname".
<input type="text" name="yourname" value="Bob" disabled="disabled" />
Ceci ne soumettra rien pour l'élément "yourname".
De même que les autres réponses (désactivé n'est pas envoyé au serveur, en lecture seule), mais certains navigateurs empêchent de mettre en évidence une forme désactivée, tout en lecture seule peuvent encore être mis en évidence (et copié).
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
Un champ en lecture seule ne peuvent pas être modifiés. Cependant, un utilisateur peut onglet, mettez-le en surbrillance et copier le texte à partir d'elle.
Un exemple sur jsfiddle: http://jsfiddle.net/ewa79/8/
fake code block here to satisfy stackoverflow