スレッド表示 | フラット表示〕 全トピック 920 件中 180 番目 次≫ ≪前

プルタウンメニューとチェックボックスの値渡し方

created: 2006-10-13 16:49 | modified: 2006-10-13 21:35 | reply: 2

[3410] プルタウンメニューとチェックボックスの値渡し方

user: しんのじ | created: 2006-10-13 16:49
いつもこちらのサイトにはお世話になってます。
データベースに入力するフォームを作っていまして、
入力フォームから値を入力し,
確認ページに値を渡したいのですが,
テキストとテキストエリアに関しては
value属性に「$_POST['']」を指定する事
<textarea></textarea>ではさむ事で解決したのですが,

プルタウンメニューやチェックボックスに関して
どのように指定してやればよいか?
わかりませんでした。

宜しくお願いいたします。


//-------------入力フォーム(smp1.html)----------------

<table action="smp2.php" method="post">
<tr>
<td align="center">種別</td>
<td align="center">
<select name="shubetu">
<option selected></option>
<option value="パチンコ">パチンコ</option>
<option value="スロット">スロット</option>
  </select>
</td>
</tr>

<tr>
<td>台数</td>
<td><input type="text"name="kazu"></td>
</tr>

<tr>
<td colspan="1">備考</td>
<td colspan="3">
 <textarea cols="50"rows="7"name="bikou"></textarea>
 </td>
</tr>

<tr>
<td colspan="2"><input type="submit" value="送信"></td>
</tr>
</table>

//-------------確認フォーム(smp22.php)---------------

<table>
<tr>
<td align="center">種別</td>
<td align="center">
<select name="shubetu">
<option selected></option>
<option value="パチンコ">パチンコ</option>
<option value="スロット">スロット</option>
  </select>
</td>
</tr>

<tr>
<td>台数</td>
<td><input type="text"name="kazu" value="<?=$_POST['kazu']?>"></td>
</tr>

<tr>
<td colspan="1">備考</td>
<td colspan="3">
<textarea cols="50"rows="7"name="bikou">
<?=$_POST['bikou']?>
</textarea>
 </td>
</tr>

<tr>
<td colspan="2"><input type="submit" value="送信"></td>
</tr>
</table>

------------以下データベース入力処理省略------------
reply: 3411 返信 編集 削除

[3411] RE:

user: Pluto | created: 2006-10-13 18:29
ドロップダウンリスト、チェックボックスのそれぞれ選択された状態を確認画面に渡したいのですね?
ドロップダウンリストの場合、optionタグ中に"selected"を入れるとその項目が選択された状態になります。checkboxの場合は、"checked"となります。
これはHTMLの仕様ですが。

要はこの設定をPHPで処理してあげればいいわけです。

test.html フォーム画面
<select name="test">
<option value=1>1</option>
<option value=2>2</option>
</select>

<input type="checkbox" name="test1" value=1>test1
<input type="checkbox" name="test2" value=1>test2

test.php 確認画面
echo "<select name='test'>\n";
echo " <option value=1";
if($_POST["test"] == 1) {echo " selected";}
echo ">1</option>\n";
echo " <option value=2";
if($_POST["test"] == 2) {echo " selected";}
echo ">2</option>\n";
echo "</select>\n";

echo "<input type='checkbox' name='test1' value=1";
if($_POST["test1"] == 1) {echo "checked";}
echo ">test1\n";
echo "<input type='checkbox' name='test2' valu=1";
if($_POST["test2"] == 1) {echo "checked";}
echo ">test2\n";

これも一例ですが、ややめんどくさいですので、当方は
出力関数を作って処理しています。

例えば、
function returnSelected($val1, $val2) {
// $val1にフォーム値、$val2に比較する項目値
if($val1 == $val2) {return " selected";}
}

こんな関数を作った上で、確認画面を
echo "<select name='test'>\n";
echo " <option value=1" . returnSelected($_POST["test"], 1) . ">1</option>\n";
echo " <option value=2" . returnSelected($_POST["test"], 2) . ">2</option>\n";
……以下略
こんな感じで作成すると、ソースがすっきりします。
Parent: 3410  reply: 3412 返信 編集 削除

[3412] 早速のお返事ありがとうございます。

user: しんのじ | created: 2006-10-13 21:35
早速にご返答ありがとうございます。
確かに「selected」と「checked」を指定してあげることが
キーポイントのようですね。

教えていただいた方法を参考にプログラムを組んでみたい
と思います。

ありがとうございました。
Parent: 3411  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 180 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑