No.2ベストアンサー
- 回答日時:
チェックボックスでも代用はできますが、フォームの名称を同じにした場合、CGI側でPOSTされたデータを受信するプログラムをしっかり作り込まないとANo.1さんのおっしゃるように上書きされて最後に代入された値のみが残ってしまうことになります。
逆を言えば受信側のCGIでしっかり作り込んでいれば問題はありません。
質問の例で全部にチェックが入った場合GETメソッド調に記述すると
?ken=5&ken=10&ken=20
のように入ってきますのでこれをどう処理するかはCGI作者の仕様次第となります。
ちなみにわたくしは、巷でよく行われるハッシュ代入の際に、同一のキーを持つものが有ればタブで区切ってデータ追記するようにしています。
No.6
- 回答日時:
またまたまた失礼します。
前の回答で「なら」を2回繰り返しているミスに赤面しております。
フォームを強制的に設定したい場合の簡単なJavaScriptサンプルを以下に置いときます。
<html>
<head>
<title>TEST</title>
</head>
<script language="JavaScript">
<!--
function fInit(){
// それぞれ2番目の要素を強制選択
document.f.S01[1].selected = true;
document.f.R01[1].checked = true;
}
//-->
</script>
<body onLoad="fInit()">
<form method="POST" action="test01.cgi" name="f">
<select size="1" name="S01">
<option value="AAAAA">AAAAA</option>
<option value="BBBBB">BBBBB</option>
<option value="CCCCC">CCCCC</option>
<option value="DDDDD">DDDDD</option>
</select><br>
<input type="radio" value="AAA" name="R01">A
<input type="radio" name="R01" value="BBB">B
<input type="radio" name="R01" value="CCC">C
<input type="radio" name="R01" value="DDD">D
<br>
<input type="submit" value="送信" name="B1">
</form>
</body>
</html>
No.5
- 回答日時:
またまた失礼します。
元のフォームの表示がベタHTMLなのかCGIやPHPによるものなのか、またブラウザによって状況は変わってきますが
通常、HTML側にSELECTEDがあろうがCHECKEDがあろうが「次画面から戻るボタンによってフォームに戻って」くれば、入力時の値になると思います。
そうならないケースとして自分の知る範囲で以下のケースがあげられます(環境はいずれもWindows)。
1.フォームHTML内でロード時にJavaScript等によってフォームの値が初期化される。
2.ブラウザがIEならキャッシュファイルが壊れている。(キャッシュファイルを消せば正しくなる)
3.FireFoxならおかしくなっているフォームの前に<span>タグなどでスタイルシートのクラスが指定されている。
4.フォーム自体がサーバサイドのプログラムによって生成される。
といったところでしょうか
経験上、一番多いケースは「2」のIEのバグに起因するものです。
普通のエンドユーザならなら、大多数が確認などから戻ったときに再入力が面倒と感じるので、ブラウザ側では入力時の値をキープする仕様になっていると思います。
的外れな回答かもしれませんが…こんな回答で大丈夫でしょうか。
No.4
- 回答日時:
確認画面にしろ、エラー表示にしろ原理は同じ。
たとえば、この「おしえて」でも、確認画面のソースには、記入内容とは別に、「戻る」のフォームには、すべての記入内容がhiddenで書かれているのでは?(未確認)
それを元に、記入フォーム自体もCGIから出力させればよいです。
ソースの中途にHTMLのソース書くのは面倒ですし、改造もしにくくなるので、状況により、
__END__
以降にソースを書いて<DATA>
あるいは、外部ソース
を呼び出して----Q1----、とか、---ckedc1---の部分を、送られてきたデータを使って書き直してます。
No.3
- 回答日時:
たびたび失礼いたします。
takumana20様のスキルがわからないのでお礼のところで問われている部分についてはなんとも申し上げられないのですが
端的に言うと
一項目しか選択できないセレクトメニュー = ラジオボタン
複数項目選択できるセレクトメニュー(multiple) = チェックボックス
となります。
CGIのカテなので「CGI側をどうにかしたい」のかと思ったのでそのつもりで回答したのですが、HTMLに関する質問だったのでしょうか?
質問がわかりにくくてすいません。。。えーと、
オプションをラジオに変更してみたら戻った時とか
戻り値がセレクトオプションなら固定でselectedになってたんですが
(CGIで何か細工をしてるのかな? 決定した値が反映されてるんです)
ラジオだと固定値checkedになんないんですよね。これが毎回チェックしなおすのも面倒だし
(そのスキルが無いんですw)困った・・・
No.1
- 回答日時:
/?ken.5?/・・・ってなに?
radioボタンでは代用可能です。
checkだとnameを変えないと上書きされます。
この回答への補足
> /?ken.5?/・・・ってなに?
たぶんCGIの何かの指定です。たぶんこれが戻った時に決定した項目がselectedになると思います。
でもラジオボタンだと戻った時にチェックにcheckedにならないんです・・・
ラジオボタンにして、戻った時にも一度決定した項目がチェックされる方法があれば教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
POSTメソッドの最大容量について
-
ホームページにメールフォーム...
-
ホームページでCGIのフォームを...
-
CGIって何ですか?簡潔に教えて...
-
cgiの注釈が出来ない
-
CGI.pmはもう古い!?
-
フォームを再送信しますか?
-
入力フォーム(電話番号)
-
プロバイダのスピードは、maps...
-
3DCG
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
htmlからパラメータで、cgiに渡...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
POSTメソッドの最大容量について
-
チェックボックスでのvalue値の...
-
cgi アクセス制限 エラー
-
CGIゲーム設置について
-
サイト訪問者の情報を取得したい
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
ホームページにメールフォーム...
-
ラズパイでのCGIで、pythonソー...
-
一番簡単なCGI,掲示板の設置教...
-
perlで書いたcgiでsqliteの使い...
-
CGIメールフォームの件名について
おすすめ情報