CGIでデータの受け渡しを行い、決められたアドレスへ結果を送信するアンケートをつくっています。以前、チェックボックスで複数回答可とした場合の制限のかけ方をJavaScriptを用いた方法で教えてもらいましたが、これを利用して得た値をCGIで受け取りたいのですが、どうやって設定すればいいのでしょうか。「name」がそれぞれ名前が違う所でつまずいています。また<form method=post action="***.cgi">~</form>と項目全体をくくればいいのでしょうか?参考までに以下のHTMLを付記いたします。
<html>
<head>
<title>5個のうち3個しかチェックできないようにする</title>
<script Language="JavaScript"><!--
function check(n)
{
fOBJ = document.myFORM;
count = 0;
for (i=1; i<=5; i++) if (fOBJ["CB"+i].checked) count++;
if (count > 2)
{
alert("3個以上チェックできません");
fOBJ["CB"+n].checked = false;
}
}
// --></script>
</head>
<body>
<form name="myFORM">
<input type="checkbox" name="CB1" onClick="check(1)">チェック1<br>
<input type="checkbox" name="CB2" onClick="check(2)">チェック2<br>
<input type="checkbox" name="CB3" onClick="check(3)">チェック3<br>
<input type="checkbox" name="CB4" onClick="check(4)">チェック4<br>
<input type="checkbox" name="CB5" onClick="check(5)">チェック5<br>
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
このHTMLでは「どのCGIにデータを送るか」が指定されていませんから、
おっしゃる通り<form>タグ内でファイル名を指定する必要があります。例えば
<form method=post action="receive.cgi" name="myFORM">
とします。
また送信のトリガーが必要ですので、<form>~</form>内に以下を追加します。
<input type=submit value="送信">
これで送信ボタンが表示され、クリックするとCGIにデータが送信されます。
「CGIにデータを送信する方法」としては、以上です。
受け取った後の処理については、どのようなCGIかが分かりませんので
何とも言えませんが、「送信されたデータをCGIがどのように受け取るか」
を示す意味で、以下にサンプルのPerlスクリプトを書いておきます。
#!/usr/bin/perl
read(STDIN, $QUERY, $ENV{'CONTENT_LENGTH'});
print "Content-type: text/html\n\n";
print $QUERY;
これをreceive.cgiとして設置すると、受け取ったデータをそのまま
表示します。例えば1と2にチェックを入れて「送信」をクリックすると
CB1=on&CB2=on
と表示されました。receive.cgiがこのような文字列としてデータを
受け取っていることが分かると思います。
(ちなみに、この場合<form>タグ内のname=は使われないので、不要です。)
お礼を言うのが大変遅くなりました。回答は参考にさせて頂きました。まだまだ理想のアンケート機能を作るには頭を悩ませなくてはいけないようですが、がんばって作り上げていこうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
さくらインターネットのCGI...
-
wordの数式について 定積分を書...
-
select値をhiddenのvalueに渡し...
-
フリーズする原因
-
ラジオボタンが両方とも選択で...
-
MSPゴシックで、一番幅を取る文字
-
CGI経由でのPDFファイルをダウ...
-
Yomi-Searchのカテゴリを縦並び...
-
cgiからsendmailを送信で文字化け
-
ラジオボタンを選択済みにする...
-
”送信ボタン” ”クリアボタン”...
-
アンケートフォームで前のペー...
-
ディレクトリのファイル数取得
-
WEBページを強制的に横画面で見...
-
チェックボックスで選択した内...
-
チェックボックスの返す値
-
<FORM TYPE="subumit">でデータ...
-
SELECTでgroup byした時の挙動
-
フォームメール確認用ページ
-
別formのhidden項目を自form値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(Perl)ReadParseによるハッシ...
-
Javascriptの変数をCGIに送る方法
-
フォーム入力後の確認画面表示...
-
htmlからcgiに変数を配列にして...
-
perlで自動ログインをしたいが...
-
別サーバーのcgiへバイナリデー...
-
VBで表示したホームページの...
-
リストボックスで選択してさら...
-
入力規則をまとめて定義
-
HDMLでCGIを使おうと思うのです...
-
Rubyのmechanizeを利用したファ...
-
cgi-libを使って変数値渡しをし...
-
htmlのフォームからcgiにデータ...
-
アクセス元URLによって振り分け...
-
フォームに入力した情報をその...
-
SUN BBSの改造方法
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
WEBページを強制的に横画面で見...
-
select値をhiddenのvalueに渡し...
おすすめ情報