J'ai l'entrée suivante:
<input id="fieldName" name="fieldName" type="text" class="text_box" value="Firstname"/>
Comment puis-je utiliser jQuery pour faire de cet élément une entrée en lecture seule sans changer l'élément ou sa valeur?
De nos jours, avec jQuery 1.6.1 ou supérieur, il est recommandé d'utiliser .prop () lors de la définition des attributs / propriétés booléens.
$("#fieldName").prop("readonly", true);
ajoutez simplement l'attribut suivant
// for disabled i.e. cannot highlight value or change
disabled="disabled"
// for readonly i.e. can highlight value but not change
readonly="readonly"
jQuery pour effectuer la modification de l'élément (substitut disabled
pour readonly
dans ce qui suit pour le réglage readonly
attribut).
$('#fieldName').attr("disabled","disabled")
ou
$('#fieldName').attr("disabled", true)
REMARQUE: à partir de jQuery 1.6, il est recommandé d'utiliser à la .prop()
place de .attr()
. Le code ci-dessus fonctionnera exactement de la même manière, sauf .attr()
pour remplacer .prop()
.
Pour créer une entrée en lecture seule, utilisez:
pour le rendre en lecture / écriture, utilisez:
l'ajout de l'
disabled
attribut n'enverra pas la valeur avec la publication.la source
Vous pouvez le faire en le marquant simplement
disabled
ouenabled
. Vous pouvez utiliser ce code pour ce faire:ou
$ ('# fieldName'). prop ('readonly', true);
$ ('# fieldName'). prop ('readonly', false);
--- Il vaut mieux utiliser prop au lieu d'attr.
la source
Utilisez cet exemple pour rendre la zone de texte ReadOnly ou Not.
la source
Il existe deux attributs, à savoir
readonly
etdisabled
, qui peuvent créer une entrée semi-en lecture seule. Mais il y a une petite différence entre eux.readonly
attribut rend votre texte d'entrée désactivé et les utilisateurs ne peuvent plus le modifier.disabled
attribut rendra votre texte d'entrée désactivé (non modifiable), mais il ne peut pas non plus être soumis .Approche jQuery (1):
Approche jQuery (2):
Approche JavaScript:
PS
prop
introduit avecjQuery 1.6
.la source
Donné -
cela fonctionne - (jquery 1.7.1)
testé avec readonly et readOnly - les deux ont fonctionné.
la source
Peut-être utiliser un attribut désactivé:
Ou utilisez simplement la balise label:;)
la source
la source
Il est peut-être significatif d'ajouter également que
peut être utilisé comme option de bascule.
la source
readonly
attribut à l'élément, quelle que soit la valeur passée. Ainsi, votre exemple finirait par rendre le champ d'entrée en lecture seule, bien que la valeur soit apparemment définie sur false.Dans JQuery 1.12.1, mon application utilise du code:
$('"#raisepay_id"')[0].readOnly=true;
$('"#raisepay_id"')[0].readOnly=false;
et il fonctionne.
la source
Le setReadOnly (state) est très utile pour les formulaires, nous pouvons définir n'importe quel champ sur setReadOnly (state) directement ou à partir de diverses conditions.Mais je préfère utiliser readOnly pour définir l'opacité du sélecteur sinon l'attr = 'disabled' fonctionnait également comme le de la même façon.
Exemples readOnly:
ou à travers les différentes coditions comme
ici, nous utilisons la valeur booléenne d'état pour définir et supprimer l'attribut en lecture seule de l'entrée en fonction d'un clic sur la case à cocher.
la source
En html
dans bootstrap
JQuery est une bibliothèque évolutive et parfois ils apportent des améliorations régulières. .attr () est utilisé pour obtenir des attributs à partir des balises HTML, et bien qu'il soit parfaitement fonctionnel .prop () a été ajouté plus tard pour être plus sémantique et il fonctionne mieux avec des attributs sans valeur comme «vérifié» et «sélectionné».
Il est conseillé que si vous utilisez une version ultérieure de JQuery, vous devez utiliser .prop () chaque fois que possible.
la source