私はjQueryを使用しており、val()またはtext()(または別のメソッド)を使用してテキストエリアの内容を読み込んで更新する必要があるかどうか疑問に思っています。textareaのval()とtext()の比較
私は両方を試してみましたが、両方で問題がありました。 textareaを更新するためにtext()を使用すると、改行(\ n)が機能しません。テキストエリアのコンテンツを取得するのにval()を使用すると、テキストが長すぎると切り詰められます。
私はjQueryを使用しており、val()またはtext()(または別のメソッド)を使用してテキストエリアの内容を読み込んで更新する必要があるかどうか疑問に思っています。textareaのval()とtext()の比較
私は両方を試してみましたが、両方で問題がありました。 textareaを更新するためにtext()を使用すると、改行(\ n)が機能しません。テキストエリアのコンテンツを取得するのにval()を使用すると、テキストが長すぎると切り詰められます。
テキストエリアの値を設定/取得する最も良い方法は、.val()
,.value
の方法です。
.text()
は、内部で<textarea>
の内容を取得するために(またはIEでは.innerText
)メソッドを使用します。 text()
の戻り値が間違っていることができ、一方
var t = '<textarea>';
console.log($(t).text('test').val()); // Prints test
console.log($(t).val('too').text('test').val()); // Prints too
console.log($(t).val('too').text()); // Prints nothing
console.log($(t).text('test').val('too').val()); // Prints too
console.log($(t).text('test').val('too').text()); // Prints test
.val()
で使用value
性は、常に、現在可視の値を示し、次のテストケースはtext()
と.val()
が互いにどのように関係するかを示しています。
thx、これを今すぐ試してください。私は現在val()とtruncationで持っていた問題を再現することができません。たぶん私は間違った容疑者を持っています... – Christophe
例のための束をありがとう。明らかにそれは私の問題でした。私はtext()で書き、val()で読みました。 – Christophe
'text()'を使ってテキストエリアの値を変更すると、何かを手作業で変更した後でもう機能しません(文字の追加など) – Jan
idの代わりに属性名で<textarea>
を選択します。
<textarea id="message" name="message"></textarea>
<script>
jQuery("textarea[name='message']").val();
</script>
これはどのようにして票を獲得しましたか?尋ねられた質問とはまったく無関係で、絶対に価値がない。セレクタでIDを使用する方がはるかに効率的であり、同じ名前の複数のテキストエリアを選択しないため、ガイダンスは貧弱です。 – michael
.val()
は常にtextarea
要素で動作します。
.text()
時々動作し、別の時間に失敗します。
.val()
は.text()
が失敗するのに対し、.val()
は他のフォーム要素ともシームレスに動作します(input
など)。
html()を試しましたか? – Znarkus
改行が機能しないとはどういう意味ですか? – kaz
@Znarkus:いいえ... – Christophe