▽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>とやる行為に、違いはあるでしょうか?
両者は同じことをやっているという認識で良いでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> これは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

昔からこの仕様です。

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

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

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


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

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

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

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

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qprint "{$data[$i][$j]}";の $dataと「直接関係」がある

<!DOCTYPE html>
<html>
<head>
<title>P185 Sample6-15▸ 多次元配列</title>
</head>
<body>

<?php

$data[0][0] = "東京";
$data[0][1] = 32;//$data[0][●]に東京のデータを格納します。
$data[0][2] = 25;
$data[1][0] = "名古屋";
$data[1][1] = 28;//$data[1][●]に名古屋のデータを格納します。
$data[1][2] = 21;
$data[2][0] = "大阪";
$data[2][1] = 27;//$data[2][●]に大阪のデータを格納します。
$data[2][2] = 20;
$data[3][0] = "京都";
$data[3][1] = 26;//$data[3][●]に京都のデータを格納します。
$data[3][2] = 19;
$data[4][0] = "福岡";
$data[4][1] = 27;//$data[4][●]に福岡のデータを格納します。
$data[4][2] = 22;

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>都市名</th>
<th>最高気温</th>
<th>最低気温</th>
</tr>

<?php

for($i=0; $i<count($data); $i++){
print "<tr>";
for($j=0; $j<count($data[0]); $j++){
print "<td>{$data[$i][$j]}</td>";//配列の要素を出力する。
}
print "</tr>\n";
}

?>

</table>

</body>
</html>
以上ですが・・・だんだん難しくなってきました!
 さて
  print "<td>{$data[$i][$j]}</td>";の $dataと「直接関係」があるところは
 1) for($j=0; $j<count($data[0]); $j++){  
 2)$data[0][0] = "東京";~$data[4][2] = 22;
  の1)2)のどちらと「直接関係」があるのでしょうか?
 以上よろしくお願いいたします。

<!DOCTYPE html>
<html>
<head>
<title>P185 Sample6-15▸ 多次元配列</title>
</head>
<body>

<?php

$data[0][0] = "東京";
$data[0][1] = 32;//$data[0][●]に東京のデータを格納します。
$data[0][2] = 25;
$data[1][0] = "名古屋";
$data[1][1] = 28;//$data[1][●]に名古屋のデータを格納します。
$data[1][2] = 21;
$data[2][0] = "大阪";
$data[2][1] = 27;//$data[2][●]に大阪のデータを格納します。
$data[2][2] = 20;
$data[3][0] = "京都";
$data[3][1] = 26;//$data[3][●]に京都の...続きを読む

Aベストアンサー

> の1)2)のどちらと「直接関係」があるのでしょうか?

No.1さんと同じく質問の意味が理解できません。
わかり易く補足いただいた方が良いかと思います。



”の1)2)のどちらと「関係」があるのでしょうか?” というご質問であれば

”どちらとも関係あります” という回答になります。

QPHP ループ 
  • の出力方法

    <?php


    $input_01 = file('list/001.txt');

    echo '<ul>'."\n";

    foreach( $input_01 as $value ){
    $num++;
    echo "\t".'<li><a href="' .$value. '"><img src="' .$num. '.jpg" alt="" /></a></li>'."\n";
    }

    echo '</ul>'."\n";

    /*
    1. list/001.txtにはURLが多数入っていると仮定します。上記の構文ですと、<ul>~</ul>の中に全てのURLが出力されます。
      例えばこれを以下のように5つずつ順にURLを出力、同時に00001~00005.jpgとなるよう出力するには、どうのような方法が、 軽く、スマートな方法のでしょうか?

    <ul>
    <li>~</li>
    <li>~</li>
    <li>~</li>
    <li>~</li>
    <li>~</li>
    </ul>

    2. echo '<ul>'."\n"; のように、シングル、ダブルクォートを同時に使用する事は、変でしょうか?

    色々検索して試行錯誤しましたが、フリーズしてしまいました。ご回答よろしくお願いいたします。
    */

    <?php


    $input_01 = file('list/001.txt');

    echo '<ul>'."\n";

    foreach( $input_01 as $value ){
    $num++;
    echo "\t".'<li><a href="' .$value. '"><img src="' .$num. '.jpg" alt="" /></a></li>'."\n";
    }

    echo '</ul>'."\n";

    /*
    1. list/001.txtにはURLが多数入っていると仮定します。上記の構文ですと、<ul>~</ul>の中に全てのURLが出力されます。
      例えばこれを以下のように5つずつ順にURLを出力、同時に00001~00005.jpgとなるよう出力するには、どうのような方法が、 軽く、スマートな方法ので...続きを読む

    Aベストアンサー

    簡単に書いてみました。参考までに。
    インデントは全角スペースになっています。

    <?php
     $list = file('list.txt');
     $count = 1;

     while($a = array_splice($list, 0, 5)){
      echo "<ul>\n";
      foreach($a as $v){
       printf("<li><a href=\"%s\"><img src=\"%05d.jpg\"/></a></li>\n", chop($v, "\n"), $count);
       $count++;
      }
      echo "</ul>\n";
     }
    ?>

    参考URL:http://www.php.net/manual/ja/function.array-splice.php

    Q