Wie kann ich readonly
zu einem bestimmten <input>
hinzufügen? .attr('readonly')
funktioniert nicht.Wie fügt man ein "readonly" Attribut zu einem hinzu?
Antwort
jQuery < 1,9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Lesen Sie mehr über difference between prop and attr
nicht xhtml gültig! –
Sind Sie sicher? Das habe ich mir auch gedacht, kann aber in den Spezifikationen nichts finden. validiert perfekt auf validator.w3.org mit xhtml 1.0 strict. –
Dieser Beitrag sollte in .prop() anstelle von .attr() geändert werden, wie in der jQuery-API angegeben: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
.attr('readonly', 'readonly')
sollte den Trick tun. Ihr .attr('readonly')
gibt nur den Wert zurück, es setzt keinen.
jQuery's attr() arbeitet an JavaScript-Eigenschaften, nicht an HTML-Attributen, obwohl die Namen etwas anderes bedeuten. attr ('readonly') arbeitet tatsächlich mit der HTML-Eigenschaft readOnly des DOM Level 1, was ein Boolescher Wert ist, also ist 'true' geeigneter. Die Zeichenfolge "readonly" ist jedoch auch ein truthy-Wert, wenn sie automatisch in einen booleschen Wert konvertiert wird. – bobince
Ich glaube nicht, dass Sie das Attribut auf 'wahr' setzen möchten. Der '.attr'-Wert sollte laut den jQuery-Dokumenten nur ein String oder eine Zahl sein, kein boolescher Wert: http://api.jquery.com/attr/#attr2 Außerdem sollte HTML "boolesche Attribute" nur eine leere Zeichenfolge sein oder der Wert des Attributs. Ich denke, die Lösung ist '.prop()' zu verwenden, um Verwirrung zu vermeiden. – Luke
Ich denke "disabled" schließt die Eingabe von auf der POST gesendet werden
Ja, tut es. Ich habe diesen Thread gefunden, als ich gerade nach einer Alternative zu "deaktiviert" gesucht habe. –
aber Sie können es aktivieren, bevor Sie es senden, und deaktivieren Sie es später $ (Dokument) .on ('senden', "#myform", Funktion (e) {// aktivieren Eingaben zurück, true; // dann wieder deaktivieren, wenn Sie benötigen} es funktioniert Ich testete es – Geomorillo
Liest nur Eingabewerte in HTML sind erlaubt, auf POST ohne Verwendung versteckter? –
Zum Aktivieren von Nur lesen:
$("#descrip").attr("readonly","true");
Zum Deaktivieren von Nur-Lese-
$("#descrip").attr("readonly","");
Warum nicht '$ (" # descrip "). removeAttr (" readonly ");'? –
Von http : //api.jquery.com/attr/ "Ab jQuery 1.6 gibt die Methode .attr() für nicht gesetzte Attribute undefined zurück. Zum Abrufen und Ändern von DOM-Eigenschaften wie dem aktivierten, ausgewählten oder deaktivierten Status von Formularelemente, verwenden Sie die .prop() -Methode. " –
Das Attribut sollte nicht auf eine Zeichenfolge von" True "festgelegt werden. Dies funktioniert möglicherweise, ist aber technisch nicht korrekt. (Siehe meine vorherigen Kommentare.) – Luke
Sie können die Nur-Lese-deaktivieren, indem Sie die .removeAttr verwendet wird;
$('#descrip').removeAttr('readonly');
Verwenden $.prop()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
Nach dem Lesen der jQuery API für .prop, das sollte die akzeptierte Antwort sein in der Vergangenheit immer .attr ('readonly', 'readonly') und .removeAttr ('readonly') gemacht, aber das scheint korrekter zu sein und macht den Code sauberer. –
Jeder sollte diese Antwort verwenden, wie hier angegeben: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
Ein Wort der Vorsicht mit <$. Prop() ': Prop wird gesetzt das Attribut readonly in leerem/leerem String. Wenn Sie also ein CSS haben, das den Attributselektor für '[readonly =" readonly "]' verwendet, müssen Sie dies in '[readonly]' ändern (oder beides einschließen)). – Luke
READONLY ein Attribut wie in HTML definiert, so dass es wie ein behandeln.
Sie müssen wie etwas haben, nur lesbar = „Nur-Lesen“ in dem Objekt mit dem Sie arbeiten, wenn Sie es nicht editierbar zu sein. Und wenn Sie möchten, dass es wieder bearbeitet werden kann, haben Sie nicht so etwas wie readonly = '' (das ist nicht Standard, wenn ich es richtig verstanden habe). Sie müssen das Attribut als Ganzes wirklich entfernen.
Als solche, jQuery Hinzufügen und Entfernen ist es sinnvoll.
Set etwas nur lesbar:
$("#someId").attr('readonly', 'readonly');
entfernen Read-only:
$("#someId").removeAttr('readonly');
Dies war die einzige Alternative, die wirklich für mich gearbeitet. Hoffe es hilft!
Verwenden Sie die setAttribute-Eigenschaft. Beachten Sie, dass bei Auswahl von 1 das Attribut readonly auf das Textfeld angewendet wird, andernfalls entfernen Sie das Attribut 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>
Für jQuery Version < 1.9:
$('#inputId').attr('disabled', true);
Für jQuery-Version> = 1.9:
$('#inputId').prop('disabled', true);
- 1. Wie fügt man einem serialisierten XML-Knoten ein Attribut hinzu?
- 2. Wie fügt man einem Element mit jquery ein Attribut hinzu?
- 3. Wie fügt man dem Nokogiri Knoten ein Attribut hinzu?
- 4. Wie fügt man ein Bildsymbol zu einem Bestätigungsdialogfeld hinzu?
- 5. Wie fügt man einem UITextView Zeilennummern hinzu?
- 6. Wie fügt man einem ListView ein FrameLayout hinzu?
- 7. Wie fügt man ein Sternchen in einem mathematischen Ausdruck hinzu?
- 8. Wie fügt man einem NSDate ein Zeitintervall hinzu?
- 9. Wie fügt man dem text_field_tag das Attribut data-stripe hinzu?
- 10. Wie fügt man einem GUI ein "Konsolen" ähnliches Fenster hinzu?
- 11. Wie fügt man Linien zu 3D hinzu?
- 12. Wie fügt man UIToolbar zu einem NavigationController im Storyboard hinzu?
- 13. Wie fügt man Achsen zu Subplots hinzu?
- 14. Wie fügt man zu einem settings.bundle eine Lokalisierung hinzu?
- 15. iTextSharp - Wie fügt man PDFPRow zu einem PDFPTable hinzu?
- 16. Silverlight (3.0): Wie fügt man Zellenabstand zu einem Raster hinzu?
- 17. Wie fügt man SSL_RSA zu SSLCipherSuite hinzu?
- 18. Wie fügt man einem Modell in Ruby on Rails ein virtuelles Attribut hinzu?
- 19. rapid miner: Wie fügt man einem Datensatz ein Attribut 'label' hinzu?
- 20. C#: Wie fügt man einem Objekt zur Laufzeit ein Attribut hinzu?
- 21. Wie fügt man jedem Objekt in einem Array ein Attribut hinzu?
- 22. Wie fügt man mehrere listViews zu einem einzelnen listView hinzu?
- 23. Wie fügt man ORM zu einem älteren PHP-Projekt hinzu?
- 24. Wie fügt man NSLinkAttributeName zu Emoji hinzu?
- 25. Wie fügt man Unterstreichungsmodul zu MeanJS hinzu?
- 26. Wie fügt man Schaltflächen zu einem Hauptfenster in Qt hinzu?
- 27. Wie fügt man jstl zu einem Liferay Portlet hinzu?
- 28. Wie fügt man UICollectionView zu einem UITableview FooterView hinzu?
- 29. Wie fügt man Archiv zu einem Archiv hinzu?
- 30. Wie fügt man Leerzeichen zu einem RMarkdown-Dokument hinzu?
.attr ('readonly', true) funktioniert, andere nicht – Qiao
.attr ('readonly', 'readonly') funktioniert auch – Qiao
Es hängt davon ab, welche DOCTYPE Sie verwenden. Für HTML 4.01 DTDs funktioniert die Antwort von CMS und valides HTML 4.01. Wenn Sie eine XHTML-DTD verwenden, dann funktioniert die Antwort von ceejayoz und das gültige XHTML. – bjoernwibben