Come posso aggiungere readonly
a uno specifico <input>
? .attr('readonly')
non funziona.Come aggiungere un attributo "readonly" a <input>?
risposta
jQuery < 1,9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Per saperne di più difference between prop and attr
non valido xhtml! –
Sei sicuro? Ho pensato anch'io ma non riesco a trovare nulla nelle specifiche. si convalida perfettamente su validator.w3.org con xhtml 1.0 strict. –
Questo post deve essere modificato in .prop() piuttosto che in .attr(), come indicato nell'API jQuery: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
.attr('readonly', 'readonly')
dovrebbe fare il trucco. Il tuo .attr('readonly')
restituisce solo il valore, non ne imposta uno.
jQuery's attr() funziona su proprietà JavaScript, non su attributi HTML, anche se i nomi implicano altrimenti. attr ('readonly') in realtà opera sulla proprietà HTML DOM Level 1 readOnly, che è un valore booleano, quindi 'true' è più appropriato. Tuttavia, la stringa 'readonly' è anche un valore di verità quando viene convertita automaticamente in un valore booleano, quindi quanto sopra funziona ancora. – bobince
Non penso tu voglia impostare l'attributo su "true". Il valore '.attr' dovrebbe essere solo una stringa o un numero, non un booleano, secondo i documenti jQuery: http://api.jquery.com/attr/#attr2 Inoltre, HTML" attributi booleani "dovrebbe essere solo una stringa vuota o il valore dell'attributo. Penso che la soluzione sia usare '.prop()' per evitare confusione. – Luke
Credo che "disabile" esclude l'ingresso di essere inviato sul POST
Sì, sì. Ho trovato questo thread mentre cercavo un'alternativa a "disabled" solo per questo motivo. –
ma è possibile abilitarlo appena prima di inviarlo e disabilitarlo in seguito $ (document) .on ('submit', "#myform", function (e) {// enable input return true; // quindi disabilitarlo di nuovo se si richiede} funziona lo ha testato – Geomorillo
La lettura dei valori di input in html è consentita per l'invio su POST senza l'utilizzo nascosto? –
Per abilitare in sola lettura:
$("#descrip").attr("readonly","true");
Per disabilitare in sola lettura
$("#descrip").attr("readonly","");
Perché no '$ (" # descrip "). removeAttr (" readonly ");'? –
Da http : //api.jquery.com/attr/ "A partire da jQuery 1.6, il metodo .attr() restituisce undefined per gli attributi che non sono stati impostati. Per recuperare e modificare proprietà DOM come lo stato selezionato, selezionato o disabilitato di elementi form, utilizzare il metodo .prop(). " –
L'attributo non deve essere impostato su una stringa di" true ". Ciò potrebbe funzionare, ma non è tecnicamente corretto. (Vedere i miei commenti precedenti sopra) – Luke
È possibile disattivare la sola lettura utilizzando la .removeAttr;
$('#descrip').removeAttr('readonly');
Uso $.prop()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
Dopo aver letto il jQuery API per .prop, questa dovrebbe essere la risposta accettata sempre fatto .attr ('readonly', 'readonly') e .removeAttr ('readonly') in passato, ma questo sembra essere più corretto e rende anche il codice più pulito. –
Tutti dovrebbero usare questa risposta, come indicato qui: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
Una parola di cautela con l'uso di '$ .prop()': Prop imposterà l'attributo readonly alla stringa vuoto/vuoto, quindi se hai un qualsiasi CSS che usa il selettore dell'attributo per '[readonly =" readonly "]', allora dovrai cambiarlo in '[readonly]' (o includere entrambi). – Luke
Readonly è un attributo come definito in html, quindi trattarlo come uno.
È necessario avere qualcosa come readonly = "readonly" nell'oggetto su cui si sta lavorando se si desidera che non sia modificabile. E se vuoi che sia di nuovo modificabile non avrai qualcosa come readonly = '' (questo non è standard se ho capito bene). Hai davvero bisogno di rimuovere l'attributo nel suo complesso.
Come tale, mentre si utilizza jquery aggiungendolo e rimuovendolo è ciò che ha senso.
Set qualcosa in sola lettura:
$("#someId").attr('readonly', 'readonly');
Rimuovere sola lettura:
$("#someId").removeAttr('readonly');
Questa è stata l'unica alternativa che realmente ha funzionato per me. Spero che aiuti!
Utilizzare la proprietà setAttribute. Si noti ad esempio che se si seleziona 1 si applica l'attributo readonly sulla casella di testo, altrimenti si rimuove l'attributo readonly.
http://jsfiddle.net/baqxz7ym/2/
document.getElementById("box1").onchange = function(){
if(document.getElementById("box1").value == 1) {
document.getElementById("codigo").setAttribute("readonly", true);
} else {
document.getElementById("codigo").removeAttribute("readonly");
}
};
<input type="text" name="codigo" id="codigo"/>
<select id="box1">
<option value="0" >0</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
Per jQuery versione 1.9 <:
$('#inputId').attr('disabled', true);
Per la versione jQuery> = 1.9:
$('#inputId').prop('disabled', true);
- 1. Aggiunta attributo readonly a tutti gli elementi del modulo
- 2. Come attribuire un attributo readonly con i CSS?
- 3. Aggiungere un attributo personalizzato a json.net
- 4. Come posso aggiungere e rimuovere l'attributo "readonly"?
- 5. Come aggiungere un attributo RowVersion a una classe EF4
- 6. Come aggiungere un attributo virtuale extra a wrap_parameters
- 7. Come aggiungere un attributo HTML con jQuery
- 8. Come aggiungere un attributo al nodo Nokogiri?
- 9. Come aggiungere un attributo XML utilizzando DataContract
- 10. Come aggiungere un attributo senza valore
- 11. Come rimuovere un singolo attributo (ad es. ReadOnly) da un file?
- 12. attributo ReadOnly non funziona nei modelli ASP.NET MVC
- 13. Come posso aggiungere un IEnumerable <T> a un ICollection esistente <T>
- 14. Attiva/disattiva attributo readonly nel campo di immissione
- 15. aggiungere condizionatamente un attributo elemento in angular.js
- 16. Perché utilizzare Attributo DllImport come richiesto per aggiungere un riferimento?
- 17. C#: come aggiungere un attributo a un oggetto in fase di esecuzione?
- 18. Come aggiungere un attributo virtuale a un modello in Ruby on Rails?
- 19. minatore rapido: come aggiungere un attributo 'etichetta' a un set di dati?
- 20. Aggiungere personalizzato attributo tag HTML
- 21. Come aggiungere altro attributo in XElement?
- 22. come aggiungere campi a un namedtuple?
- 23. Come aggiungere un attributo alt dei tag img con jquery
- 24. Come aggiungere un attributo ad una funzione lambda?
- 25. Come posso aggiungere padding a <input type = "button">?
- 26. jQuery slider readonly - come fare?
- 27. PropertyGrid proprietà readonly a livello di oggetto
- 28. Come impedire a Nokogiri di aggiungere tag <DOCTYPE>?
- 29. Rails: è possibile aggiungere attributo extra a un'associazione has_and_belongs_to_many?
- 30. Associare una proprietà DependencyProperty a un altro readonly DependencyProperty
.attr ('readonly', true) funziona, altro non – Qiao
.attr ('readonly', 'readonly') funziona anche – Qiao
Dipende da quale DOCTYPE usi. Per DTD HTML 4.01 la risposta da CMS è funzionante e valida HTML 4.01. Se si utilizza un DTD XHTML, la risposta di ceejayoz funziona e ha validità XHTML. – bjoernwibben