Il s'agit d'un paramètre de propriété plutôt que d'un attribut valorisé
Ces paramètres de propriété sont des valeurs en soi et n'ont pas besoin d'être affectées. Lorsqu'ils sont présents, un élément a cette propriété booléenne fixée à true
lorsqu'ils sont absents, ils sont false
.
<input type="text" readonly />
Ce sont en fait les navigateurs qui sont libéraux en ce qui concerne la valeur qui leur est attribuée. Si vous leur attribuez une valeur quelconque, elle sera tout simplement ignorée. Les navigateurs ne verront que la présence d'une propriété particulière et ignoreront la valeur que vous essayez de lui attribuer.
C'est bien sûr une bonne chose, car certains frameworks n'ont pas la possibilité d'ajouter de telles propriétés sans fournir leur valeur en même temps. Les aides Html d'Asp.net MVC en font partie. jQuery était dans la même situation jusqu'à la version 1.6 où ils ont ajouté le concept de propriétés.
Il y a bien sûr certaines implications liées au XHTML, car les attributs du XML ont besoin de valeurs pour être bien formés. Mais il s'agit là d'une autre histoire. Les navigateurs doivent donc ignorer les attributions de valeurs.
Quoi qu'il en soit. Peu importe la valeur que vous leur attribuez à condition que le nom soit correctement orthographié pour qu'il soit détecté par les navigateurs. Mais pour des raisons de lisibilité et de maintenabilité, il est préférable de leur attribuer des valeurs significatives, comme par exemple :
readonly="true" <-- arguably best human readable
readonly="readonly"
par opposition à
readonly="johndoe"
readonly="01/01/2000"
ce qui risque d'embrouiller les futurs développeurs chargés de la maintenance de votre code et d'interférer avec les futures spécifications qui pourraient définir des règles plus strictes pour ces paramètres de propriété.
0 votes
Quel balisage DOCTYPE, DTD, et quel mode de navigation ?
3 votes
Une réponse plus globale à votre question spécifique est que les navigateurs sont conçus pour être compatibles avec toutes sortes de codages peu rigoureux (et parfois terribles). Trouver le codage le plus strict qui fonctionnera avec tous les navigateurs est une vertu, parce que les kludges ne fonctionneront que jusqu'à ce que les développeurs de navigateurs en aient marre :)
0 votes
Apparenté stackoverflow.com/questions/7730695/