textarea タグ内を javascript から読み書きするのは value で

textarea タグの読み取り、書き込みに、どのインターフェイスを利用すべきかいつも迷うので調べた結果をメモ


メソッドインターフェイス結果備考
ReadinnerTextNG<empty string> が返る
innerHTMLNGユーザーによる変更が反映されない
valueOK
WriteinnerTextNG改行が<br/>へ置換され、表示上改行が失われる
innerHTMLOK改行も反映されるが、valueで取り出せない
valueOK改行も反映されるが、innerHTML で取り出せない

まとめ
innerHTML と value は、保存される場所が違うらしい
いずれも初期値は読み込み可能だが、innerHTMLはユーザーの変更を反映しない

基本的に value を使用して読み書きするのが無難
ただし、デベロッパーツールの textarea タグ内は見た目変化しないので注意

コメント