Używam jQuery i zastanawiam się, czy powinienem używać val () lub text () (lub innej metody) do czytania i aktualizowania zawartości textarea.
Próbowałem obu i miałem problemy z obydwoma. Kiedy używam funkcji text () do aktualizacji obszaru tekstowego, podziały wierszy (\ n) nie działają. Kiedy używam funkcji val () do pobierania zawartości textarea, tekst zostaje obcięty, jeśli jest zbyt długi.
Odpowiedzi:
Najlepszym sposobem, aby ustawić / uzyskać wartość textarea jest
.val()
,.value
metoda..text()
wewnętrznie używa metody.textContent
(lub.innerText
dla IE), aby pobrać zawartość pliku<textarea>
. Poniższe przypadki testowe ilustrują, jaktext()
i.val()
odnoszą się do siebie nawzajem:value
Nieruchomość , używane przez.val()
zawsze pokazuje aktualną wartość widzialnego, natomiasttext()
„s wartość powrotu może być źle.źródło
text()
NIE działa już po ręcznej zmianie czegokolwiek w nim (np. Dodaniu znaku).val()
zawsze działa ztextarea
elementami..text()
działa czasami, a czasami zawodzi! To nie jest niezawodne (testowane w Chrome 33)Najlepsze jest to, że
.val()
działa bezproblemowo również z innymi elementami formularza (takimi jakinput
), ale.text()
nie działa.źródło