Jak dodać readonly
do określonego <input>
? .attr('readonly')
nie działa.Jak dodać atrybut "readonly" do <input>?
Odpowiedz
jQuery < 1,9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Więcej o difference between prop and attr
nie xhtml ważny! –
Czy jesteś pewien? Pomyślałem tak samo, ale nie mogę znaleźć niczego w specyfikacji. sprawdza się doskonale na validator.w3.org z xhtml 1.0 strict. –
Ten post powinien zostać zmieniony na .prop() zamiast .attr(), jak określono w jQuery API: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
powinien załatwić sprawę. Twój .attr('readonly')
zwraca tylko wartość, nie ustawia jej.
jQuery's attr() działa na właściwościach JavaScript, a nie atrybutach HTML, nawet jeśli nazwy sugerują inaczej. attr ("readonly") działa na własności HTML DOM Level 1 readOnly, która jest wartością logiczną, więc "true" jest bardziej odpowiednie. Jednak ciąg "readonly" jest również wartością truey, gdy jest automatycznie konwertowane na boolean, więc powyższe nadal działa. – bobince
Nie sądzę, że chcesz ustawić atrybut na "true". Wartość '.attr' powinna być tylko łańcuchem lub liczbą, a nie boolowskim, zgodnie z dokumentacją jQuery: http://api.jquery.com/attr/#attr2 Ponadto," boolean attributes "HTML powinny być tylko pustymi ciągami lub wartość atrybutu. Myślę, że rozwiązaniem jest użycie '.prop()', aby uniknąć nieporozumień. – Luke
myślę "wyłączone" wyklucza wejście od wysyłane na stanowisku
Tak, to prawda. Znalazłem ten wątek podczas szukania alternatywy dla "wyłączonej" właśnie z tego powodu. –
ale możesz go włączyć tuż przed wysłaniem i wyłączyć później $ (document) .on ('submit', "#myform", function (e) {// enable input return true; // następnie wyłącz go ponownie, jeśli potrzebujesz} działa i przetestowałem to – Geomorillo
Czy wartości wejściowe tylko do odczytu w html mogą być wysyłane na POST bez użycia ukrytego? –
Aby włączyć tylko do odczytu:
$("#descrip").attr("readonly","true");
Dla wyłączenie readonly
$("#descrip").attr("readonly","");
Dlaczego nie '$ (" # descrip "). removeAttr (" readonly ");'? –
Z http : //api.jquery.com/attr/ "Od wersji jQuery 1.6 metoda .attr() zwraca niezdefiniowane atrybuty, które nie zostały ustawione. Aby pobrać i zmienić właściwości DOM, takie jak sprawdzony, wybrany lub wyłączony stan elementy formularza, należy użyć metody .prop(). " –
Atrybut nie powinien być ustawiony na ciąg" true ".To może działać, ale nie jest technicznie poprawne. (Zobacz moje poprzednie komentarze powyżej.) – Luke
Można wyłączyć tylko do odczytu za pomocą .removeAttr;
$('#descrip').removeAttr('readonly');
Zastosowanie $.prop()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
Po przeczytaniu jQuery API dla .prop, to powinna być akceptowana odpowiedź zawsze robi się .attr ("readonly", "readonly") i .removeAttr ("readonly") w przeszłości, ale wydaje się to być bardziej poprawne i sprawia, że kod również staje się czystszy. –
Wszyscy powinni skorzystać z tej odpowiedzi, jak podano tutaj: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
Słowo ostrzeżenia z użyciem '$ .prop()': Prop ustawi atrybuty readonly do pustego/pustego łańcucha, więc jeśli masz jakiś CSS, który używa selektora atrybutu dla '[readonly =" readonly "]', będziesz musiał zmienić to na '[readonly]' (lub dołączyć oba). – Luke
tylko do odczytu jest cechą, jak zdefiniowano w html, to traktuje się jak jeden.
Musisz mieć coś takiego jak readonly = "readonly" w obiekcie, z którym pracujesz, jeśli nie chcesz być edytowalny. A jeśli chcesz, aby można go było ponownie edytować, nie będziesz miał czegoś takiego jak readonly = '' (to nie jest standardowe, jeśli dobrze zrozumiałem). Naprawdę musisz usunąć atrybut jako całość.
Jako takie, przy użyciu jquery dodawanie go i usuwanie jest tym, co ma sens.
Set coś tylko do odczytu:
$("#someId").attr('readonly', 'readonly');
usunąć tylko do odczytu:
$("#someId").removeAttr('readonly');
Była to jedyna alternatywa, że naprawdę pracował dla mnie. Mam nadzieję, że to pomoże!
Użyj właściwości setAttribute. Zwróć uwagę na przykład, że jeśli wybierzesz 1, zastosuj atrybut readonly w polu tekstowym, w przeciwnym razie usuń atrybut tylko do odczytu.
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>
dla jQuery wersji < 1.9:
$('#inputId').attr('disabled', true);
W wersji jQuery> = 1,9:
$('#inputId').prop('disabled', true);
- 1. ReadOnly Atrybut w MVC 4
- 2. Jak ustawić atrybut readonly w telefonach komórkowych?
- 3. Jak zrobić IEnumerable <T> readonly?
- 4. Jak dodać obraz w nagłówku atrybut atrybutu <p:column>?
- 5. Jak dodać atrybut do funkcji lambda?
- 6. Jak usunąć pojedynczy atrybut (na przykład ReadOnly) z pliku?
- 7. Jak dodać atrybut XmlInclude dynamicznie
- 8. kierownica: warunkowo dodać atrybut
- 9. Jak dodać readonly inline na django admin w
- 10. usuń atrybut readonly z wielu pól klikając przycisk w jquery
- 11. Jak dodać atrybut „colspan” w ReactJS
- 12. Jak dodać atrybut do węzła XML w Javie 1.4
- 13. Jak dodać atrybut wirtualny do modelu w Ruby on Rails?
- 14. Jak dodać niestandardowy atrybut do wyjścia HTML szyn link_to
- 15. Jak dodać atrybut "Wyłączony" do opcji w Ember.Select
- 16. Jak dodać atrybut zawierający łącznik do pola WTForms
- 17. Jak dodać atrybut HTML autouzupełniania danych do pomocnika HTML TextBoxFor?
- 18. Jak dodać atrybut do Pythona * klasa *, która jest _nie_ dziedziczona?
- 19. Jak dodać dynamicznie atrybut w VueJs
- 20. Jak dodać wymagany atrybut boolean w mvc?
- 21. Jak dodać atrybut XML za pomocą DataContract
- 22. Jak uciec f: selectItem itemLabel atrybut
- 23. Jak dodać łańcuch XML do Nokogiri Builder
- 24. Jak dodać istniejący ciąg Xml do XElement
- 25. Jak ChoiceField readonly formularzy django
- 26. readonly z jquery
- 27. Użyj atrybutu readonly w <input> bez zmiany kursora
- 28. jak dodać obiekt <br /> do symbolu zastępczego asp.net
- 29. Jak dodać hiperłącze do wiersza tabeli <tr>
- 30. Jak dodać klasę do tagów <td> w GridView
.attr ("readonly", true) działa, inne dont – Qiao
.attr ("readonly", "readonly") działa również – Qiao
To zależy od tego, którego DOCTYPE używasz. W przypadku DTD HTML 4.01 odpowiedź od CMS działa i jest poprawny HTML 4.01. Jeśli używasz DTD XHTML, to odpowiedź od ceejayoz działa i jest poprawny XHTML. – bjoernwibben