プロが教えるわが家の防犯対策術!

▽textareaの受け渡し - PHP - 教えて!goo
 http://oshiete.goo.ne.jp/qa/3086989.html
>textarea内に表示させる場合は
>valueは必要ありません。

▽[PHP-users 19095]Re: TEXTAREAタグの使い方
  http://ml.php.gr.jp/pipermail/php-users/2003-Nov …
><TEXTAREA>のValue値は
><TEXTAREA>値</TEXTAREA>
>となります。
>なので、開始タグ内でValue値を指定しても表示されません

と書かれているのですが、これはHTMLの仕様なのでしょうか?
また、それは、どこに書かれているのでしょうか?

inputタグはvalueなのに、「textarea」タグでは何故Value値が有効でないか、教えてください。


後、jQueryで「$("textarea").val(data);」とやるのと、
PHPで、<textarea><?php echo $data ?></textarea>とやる行為に、違いはあるでしょうか?
両者は同じことをやっているという認識で良いでしょうか?

A 回答 (2件)

昔からこの仕様です。

どこに書いているかとなると

http://www.w3.org/TR/html401/interact/forms.html …

あたりを読んでもらうしかありません。


>両者は同じことをやっているという認識で良いでしょうか?

サーバ側でセットして返すかブラウザ側で書き替えるかの違いですね。サーバ側で返す時点で値が決まっていればサーバから返すべきです(jQueryで書き替えるのはブラウザ側の条件で書き替えたいケースに限定すべき)。
    • good
    • 0
この回答へのお礼

回答&リンクご提示ありがとうございます。
HTMLの仕様書(?)はこれなんですねー

お礼日時:2012/09/18 10:19

> これはHTMLの仕様なのでしょうか?


> また、それは、どこに書かれているのでしょうか?

仕様です。W3C がまとめた規格(勧告)に載っています。
下記のページは W3C の HTML 4.01 の勧告の日本語訳の textarea の項ですが、value 属性が無いことと要素の内容が初期値になる旨が確認できます。

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …


> 後、jQueryで「$("textarea").val(data);」とやるのと、
> PHPで、<textarea><?php echo $data ?></textarea>とやる行為に、違いはあるでしょうか?

jQuery というか javascript はクライアントサイド、つまりWebブラウザが処理しますよね?
PHPはサーバサイドで処理されますから、textarea に値が設定されるという最終的な結果が同じでも過程はかなり異なります。
例えば、jQuery は javascript が動かないように設定されているブラウザでは処理されませんが、PHPはブラウザの設定は関係有りません。
    • good
    • 1
この回答へのお礼

回答ありがとうございましたー

お礼日時:2012/09/18 10:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!