- ベストアンサー
textareaのvalueについて
- HTMLの仕様により、textareaタグではValue値は表示されないため、使用できません。
- textareaタグのValue値は<TEXTAREA>値</TEXTAREA>となる仕様です。
- jQueryでの$('textarea').val(data);とPHPでの<textarea><?php echo $data ?></textarea>は同じ機能を実現します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> これはHTMLの仕様なのでしょうか? > また、それは、どこに書かれているのでしょうか? 仕様です。W3C がまとめた規格(勧告)に載っています。 下記のページは W3C の HTML 4.01 の勧告の日本語訳の textarea の項ですが、value 属性が無いことと要素の内容が初期値になる旨が確認できます。 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.7 > 後、jQueryで「$("textarea").val(data);」とやるのと、 > PHPで、<textarea><?php echo $data ?></textarea>とやる行為に、違いはあるでしょうか? jQuery というか javascript はクライアントサイド、つまりWebブラウザが処理しますよね? PHPはサーバサイドで処理されますから、textarea に値が設定されるという最終的な結果が同じでも過程はかなり異なります。 例えば、jQuery は javascript が動かないように設定されているブラウザでは処理されませんが、PHPはブラウザの設定は関係有りません。
その他の回答 (1)
- shimix
- ベストアンサー率54% (865/1590)
昔からこの仕様です。どこに書いているかとなると http://www.w3.org/TR/html401/interact/forms.html#h-17.7 あたりを読んでもらうしかありません。 >両者は同じことをやっているという認識で良いでしょうか? サーバ側でセットして返すかブラウザ側で書き替えるかの違いですね。サーバ側で返す時点で値が決まっていればサーバから返すべきです(jQueryで書き替えるのはブラウザ側の条件で書き替えたいケースに限定すべき)。
お礼
回答&リンクご提示ありがとうございます。 HTMLの仕様書(?)はこれなんですねー
お礼
回答ありがとうございましたー