- ベストアンサー
<form>要素
<form>を使うとCGIとかが実行できますよね。 ボタンとかで<form>のないページもあるのですが、 必ずしも必要ではないのですか? 2点目にお聞きしたいのがCGIの実行の仕方です。 submitボタンがその装置のようですけど、 これ以外にCGIを実行させる仕組みってありますか。 JAVAScriptのonclickのような使い方の方が 分かり易くていいと思うんですけど。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
><form>を使うとCGIとかが実行できますよね。 いいえ、formを使うと、サーバーにデータを送信することが出来ると言うことです。 17.1 フォームの概説 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#h-17.1 ) >ボタンとかで<form>のないページもあるのですが、 <input type="button">は必ず<form></form>内に無ければなりません!!! しかし、外見上ボタンのように見せる方法はたくさんあります。 >2点目にお聞きしたいのがCGIの実行の仕方です。submitボタンがその装置のようですけど、 form内でしたら、submitだけでなくbuttonなどもCGIに対してデータを送ることが出来ます。form外でも、リンクなり様々な方法でCGI(サーバーにある)にデータを渡せます。ここは誤解があるようですが、CGI(Common gateway interface)は、サーバー上で動作するプログラムで、単にformのデータを受け取って処理するだけでなく、サーバーに対して行われるすべての要求を処理することが出来ます。単純にリンクをたどってくるだけでも、ページやメールに貼り付けてある画像を読もうと開いただけでも・・ >これ以外にCGIを実行させる仕組みってありますか。 上の説明 >Javascriptのonclickのような使い方の方が分かり易くていいと思うんですけど。 文法的にはjavascriptのほうが難しいかも(^^) たとえば、 http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/test.html?name=uzume_z&sex=male&l_like_red=on&l_like_yellow=on&text=%BB%E4%A4%CE%A5%CB%A5%C3%A5%AF%A5%CD%A1%BC%A5%E0%A4%CFuzume_z#form_check のリンクをたどるだけで・・・
その他の回答 (1)
- Gletscher
- ベストアンサー率23% (1525/6504)
<form>が無いのは、他の方法で代用しているからです。 要は、cgiに実行権を渡せば良いので、方法は色々ありますね。 言われているように、<form>でもいいし、onclickでもいいし、<A>タグのリンクでもなんでもいいですよ。
お礼
早速のご回答有り難うございます。 onclickでもCGIを実行できるのですね。 <input>とかのフォームを使うときは必ず<form>も セットだと思っていたんですが、そうでもなさそうですね。
お礼
とても詳しく有り難うございます。 よく分かったような、分かっていないような。。。 やっぱりフォームを使う時は<form>が必要なんですね。 解説のページ見ていると省略しているところあったので。 でもフォームだよなと疑問に思ったので聞いてみました。 CGIって言うのは聞いたことがあったのですが、 多分その内に使うようになるかもぐらいです。 jAVAScriptよりも上だということは初めて知りました。