jQuery ensemble, puis de lire l'attribut readonly sur la zone de texte
<input id="test" type="text" value="text" />
alert($(':input:not([readonly])').length); //1
$('#test').attr('readonly', 'readonly');
alert($(':input:not([readonly])').length); //1
$('#test').removeAttr('readonly');
alert($(':input:not([readonly])').length); //1
Plus de la question ici, je ne peux pas obtenir la solution de travail, car il semble que jQuery n'est pas de définir l'attribut lecture seule correctement (ou au moins régulièrement).
Remarque j'obtiens les mêmes résultats avec $('#test').attr('readonly', true);
Je suis en utilisant google Chrome, et l'attribut lecture seule rend readonly=""
. Il y a un autre post ici qui suggère FireFox fait la même chose.
Je ne suis pas beaucoup occupé de ce, pour autant qu'il s'arrête toujours la zone de texte d'être modifiable, mais je ne peux pas trouver un moyen pour détecter l'attribut lecture seule.
J'ai l'habitude de l'amour jQuery, mais c'est un peu WTF.
Des idées?
[readonly]
sélecteur vérifie juste pour le présence de l'attribut, et true
ou false
, il est présent.OriginalL'auteur fearofawhackplanet | 2010-09-14
Vous devez vous connecter pour publier un commentaire.
Personnellement, je ne voudrais pas l'utiliser removeAttr()...je venais de le mettre à false avec attr().
Vous pouvez alors simplement des requêtes sur la propriété normalement:
Aussi, vous pouvez continuer à l'utiliser removeAttr(), puis il suffit d'utiliser la longueur comme un moyen de détecter la propriété:
Si vous êtes inquiet au sujet de le sélecteur, vous devriez faire le sélecteur de syntaxe que
:not([readonly='readonly'])
edit: je vois déjà la réponse que vous avez cité.Je venais tout juste de faire l'ajout de la même façon: $("#X").attr("readonly",true);
aussi dans ce cas, passez par le comportement, et non pas par le navigateur débogueurs...parfois ils ne sont pas toujours propriété de suivi des changements comme cela correctement.
Ok ai eu à travailler après votre modifier. Merci 🙂
OriginalL'auteur Trafalmadorian
Je pense que même si vous parvenez à désactiver l'entrée de pro-grammaticalement à l'aide de Javascript, smart utilisateur sera en mesure de le changer si leur désactiver le navigateur JavaScript. Afin d'être en sécurité, il est préférable de recharger la valeur de votre côté serveur.
OriginalL'auteur pisang