htmlの送信フォームを作っています。
htmlで作ったデータを次の確認画面のhtmlにもっていって確認させ、最終的には送信とメッセージありがとうというコメントを出したいのです。

<form method="post" action="form.cgi" name="message">
<input type="hidden" name="Thanks" VALUE="thanks.html">

など、そういったところがネックになっているように思うのですが、どこをいじればいいのでしょうか?

持っていきたい項目は、名前・住所・性別・メールアドレス・コメントです。
漠然としていて申し訳ありませんが教えてください。よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは。



chikonojyoさんの書かれている、
<form method="post" action="form.cgi" name="message">
<input type="hidden" name="Thanks" VALUE="thanks.html">
だけでは、はっきり言って何もわかりません。
form.cgiでどんなことをさせているのですか?
エラーの内容はどうなっていますか??

最終的にThanks.htmlを出力するのなら、hiddenで持っていく必要も無いような気がしますが...。
    • good
    • 0
この回答へのお礼

説明もうまくできません・・・。たしかにこのままではわかりにくいですよね。(実は書き直そうとしたら無理でした・・)cgiのタグを書いてみたんですが長くてはねられてしまいました(^^;)
もうちょっとがんばってみます。ありがとうございました。

お礼日時:2001/12/26 16:28

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

このQ&Aと関連する良く見られている質問

Q
の場所は?

CGIでデータを受け渡しするアンケートを作っています。html中に書く<form method=post action="***.cgi">~</form>“~”の場所についてですが質問項目を全て挟まなくてはいけませんか?実は、チェックボックスの「最大2つまで回答可」という部分をJavascriptでチェック個数を超えてチェックした時点でアラートが出るようにしてます。その記述中にすでに<form>~</form>タグを制限をかけたい質問に置いているので、質問全体を<form method=post action="***.cgi">~</form>でくくると入れ子になってしまいます。大丈夫ですか?

Aベストアンサー

<form method=post action="***.cgi" name="form1">~</form>
にする。つまり「最大2つまで回答可」という部分だけをonclickでJavascriptを呼び出したらいいと思います。

Q異なるformで同一のnameは使用できる??

1つのHTML内で使用する form~/form が2回あるとします。(formA, formBがあるとします)
この場合に、formAで使用した name の名前をもう片方のformBで使用しても問題はありませんか?

name="aa"のテキストboxと、value="表示"のSUBMITボタンを持つ form が2個あり、かつ
どちらのボタンを押しても同じCGIを呼び出す場合、
B側のボタンを押すときにCGI側で受け取る aaの値は、
B側のテキストboxに入力した値になるのでしょうか??

質問内容がわかりにくいかとは、思いますが、よろしくお願いします。

Aベストアンサー

ご想像の通りです。

<input>タグのname属性は、<form>~</form>で囲まれた中でしか有効ではありませんから、異なる<form>~</form>に囲まれた同じ名前の<input>タグはそれぞれ独立したものとして扱われます。
従って、ご質問の例で言えば、A側のSubmitボタンを押すとA側のテキストボックスが、B側のSubmitボタンを押すとB側のテキストボックスの内容がそれぞれ送信され、異なるFormのデータは無視されます。

Qmethod=GETの最大文字数

<a href="***.cgi?key=value">という具合に、
データをGETで渡したいのですが、
valueに日本語をurlエンコードしたものを使いたいのです。
そのため、かなり文字数が多くなる場合もあるので、
GETでの最大文字数をご存知の方、よろしくお願いします。

Aベストアンサー

RFCにはURIについての長さの規定はありませんし、
HTTPのRFCに至ってはURIの長さ制限がないことを明記していますから(参考URLの3.2.1を参照)、
少なくともプロトコルの上では長さに制限はありません。
なので、madmanさんのおっしゃるようにサーバ依存、ということになります。

参考URL:http://www.ietf.org/rfc/rfc2616.txt

QCGIファイルへのリンク a name=…

CGIファイル中の a name=*** の位置にリンクを貼りたいのですが、
リンクはどうやって貼ればいいでしょう?

HTMLの場合は

~menu.html#aiueo
みたいな感じですよね?

CGIだと、どのように記述したらよいでしょう。
例:ページを「menu.cgi?aiueo」として、nameを「rarara」
よろしくお願いします。

Aベストアンサー

> CGIだと、どのように記述したらよいでしょう。
> 例:ページを「menu.cgi?aiueo」として、nameを「rarara」

http://hostname/menu.cgi#rarara?aiueo=xxxxx

という感じになります。

QCGI name= が同じではダメってでたんですが・・・

ダウンロードCGIにて、設置してHTMLの文法テストをしたら
「name= が同じでは、CGI側ではそれらを区別できません。」
ってなったんですけど、動作は正常にするようなのですが、
調べても知識がないせいかどうしたら良いかちょっとわかりません・・・
hidden だから関係ない?と初心者考えですが、文法テストは正しいし
でも不具合が心配なので、誰か教えて下さい <(_ _)>

<input type="hidden" name="sw_aress" value="">
<input type="checkbox" name="sw_aress" value="1">レス数
<input type="hidden" name="sw_ref" value="">
<input type="checkbox" name="sw_ref" value="1">回数

Aベストアンサー

長文になってしまいました。m(_ _)m

該当のサイトの解説文を読みました。
http://openlab.ring.gr.jp/k16/htmllint/explain.html
> 165
> TYPE=TEXTなどのように、VALUE属性の値が固定的でないものに対して、同じ名前の要素がひとつのFORM内で複数存在すると、CGI側ではそれらを区別できません。

「TYPE=TEXTなどのように」となっていますね。
ですが、CGIはこれらを区別できますので、解説文が間違っているようです。
もちろん、区別しないように作ったり、言語仕様として区別しない物(PHP)もありますが、
HTMLの解説として「できない」と限定して書くことではないと思います。
テキストフィールドの場合にのみ区別しない、という作り方をするのは、
「全て区別しないか全て区別する」よりもはるかに難しいですし、場合によっては不可能です。

> VALUE属性の値が固定的な、TYPE=RADIO/CHECKBOX/SUBMIT/RESET/BUTTON/IMAGEとHIDDENについては警告されません。

このように書かれていますので、hiddenやcheckboxで警告がでるようなら、このチェッカーのバグと思われます。
「hiddenとcheckboxの両方で使っている場合」については言及されていませんので、あながちバグとも言い切れませんが。


質問とは関係ないことですが、
> SUBMITにNAMEがない場合は無効 (If the NAME attribute is not present, this element does not contribute a form field.) だとされています。
調べたところ、HTML2.0でこの定義がされているようですが、HTML4.01やXHTMLではこの定義はありません。
特定のHTML/XHTMLのバージョンだけの内容を、全てのバージョンに適用してしまっているようです。
(このサイトは、こういう不具合や語弊のある書き方が多いです。)

なお、ボタンとしては機能しますが、valueを送信しなくなります。(文法とは関係ありませんが)

さらにHTML2.0の文法書を読んでみると、
http://www.w3.org/MarkUp/html-spec/html-spec_8.html
「does not contribute a form field」の意味は「無効」ではなく、
HTML4.01と同じ、「サーバーに値を送信しない」の意味で使われていると思います。

> RESETの項目の例より
When you are finished, you may submit this request:
<input type=submit><br>
You may clear the form and start over at any time: <input type=reset>

via: contribute
http://dic.yahoo.co.jp/dsearch?p=contribute&stype=1&dtype=1


> CGIの部分も間違っているのか不安なのです・・・難しいですね。
CGIを使用していても、ブラウザが見ているのはそこから出力されたHTMLですので、扱い方法は同じです。

HTMLの文法としては、全く問題はありません。
オリジナルのスクリプトでsw_refやsw_aressを何度も使われているなら、
むしろ複数あることで正常に動作する物と思われます。

長文になってしまいました。m(_ _)m

該当のサイトの解説文を読みました。
http://openlab.ring.gr.jp/k16/htmllint/explain.html
> 165
> TYPE=TEXTなどのように、VALUE属性の値が固定的でないものに対して、同じ名前の要素がひとつのFORM内で複数存在すると、CGI側ではそれらを区別できません。

「TYPE=TEXTなどのように」となっていますね。
ですが、CGIはこれらを区別できますので、解説文が間違っているようです。
もちろん、区別しないように作ったり、言語仕様として区別しない物(PHP)もありま...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報