勉強したことのメモ.

Webエンジニア / プログラマが勉強したことのメモ。

セレクトメニューとテキストエリアの連動

   2014/06/06  PHP

やりたかった事は、

・セレクトメニューで何れかを選択すると連動したテキストエリア内に、
 その文言が入る
・その後テキストエリアを編集できる
・編集した後に再度セレクトメニューを選択しなおすと
 編集内容がリセットされて、新たに文言が入る

■参考サイト
http://oshiete.goo.ne.jp/qa/7252154.html

■ソース
<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
<select onChange="this.form.elements['ng'].value = ''; this.form.elements['ng'].value += this.value;">
<option value="">↓↓選択して下さい↓↓</option>
<? for ($i = 0; $i < count($ng_list); $i++) { ?>
<option value="<?=$ng_list[$i];?>"><?=$ng_list[$i];?></option>
<? } ?>
</select>
<textarea name="ng"></textarea><br />
</form>

■その他
セレクトメニューが選択された場合、

this.form.elements['ng'].value = '';
でテキストエリアを空にする。

this.form.elements['ng'].value += this.value;
でテキストエリアに選択したものを代入する。

thisってこうやって使ったら便利なんだ、と感動したので覚えておく。

 - PHP

  関連記事

PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
PHPのバリエーションライブラリ「Valitron」の導入及び利用方法

フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...

PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで一括出力ではなく、ひとつずつ順次に出力する方法

PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...

PHPにて配列の出力時にジェネレータを利用してメモリを節約する方法
PHPにて配列の出力時にジェネレータを利用してメモリを節約する方法

PHPにて大量のデータが格納された配列をforeach等でループ処理するような場 ...

SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法
SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法

メールサーバを構築せずに独自ドメインのメールアドレスにてメール送信を行いたい。過 ...

GoogleアナリティクスのデータをPHPで取得する方法
GoogleアナリティクスのデータをPHPで取得する方法

Googleアナリティクスの特定データをPHPで取得して、当該データを表示なりC ...