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

こんにちわ。CGI(perl)でアンケートフォームを作成中です。最初のページにoptionタグのプルダウンから選択する項目があります。確認画面から最初のページへ戻るときにプルダウンが選択された状態にするにはどう記述したらいいのでしょうか?たとえば、以下のソースのプルダウンで、青をチェックした後、次ページへ行きます。確認画面で、入力ミスにきづき、最初のページに戻ったときに、普通なら選択項目がデフォルトの「お選びください」になると思うのですが、戻ったときに最初に選択した、「青」が選択されている状態にしたいのです。cookieとjavascriptのhistryback()は使わずにできますか?
やり方をご存知の方、ぜひ教えてください。よろしくお願いいたします。デコードの処理の中でforeachを使うまでは調べたのですが、そのあとがわかりません。。
sub top{
print <<EOF;
<html>
<head>
<meta content="text/html; charset=shift_jis">
<title></title>
</head>
<body>
□好きな色は<br>
<select name="iro" size="1" value="iro">
<option value="0">お選びください。
<option value="1">赤
<option value="2">黄
<option value="3">青
</select>
<br><br>
<input type="hidden" name="action" value="kakunin">
<input value="次へ" type="submit">
<br>
</form>
</body>
</html>
EOF
}

A 回答 (1件)

まず、選択された色の<option value=>のvalue値を


$iroなどの変数に保存しておいて、次のようにすればいいのではないでしょうか?


print <<EOF;
<html>
<head>
<meta content="text/html; charset=shift_jis">
<title></title>
</head>
<body>
□好きな色は<br>
<select name="iro" size="1" value="iro">
EOF
my @color=("お選びください","赤","黄","青");
foreach(0..3){
if($_ eq $iro){print "<option value=\"$_\" selected>$color[$_]";}
else{print "<option value=\"$_\">$color[$_]";}
}

print <<EOF;
</select>
<br><br>
<input type="hidden" name="action" value="kakunin">
<input value="次へ" type="submit">
<br>
</form>
</body>
</html>
EOF
    • good
    • 0

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