• ベストアンサー

<form>要素

<form>を使うとCGIとかが実行できますよね。 ボタンとかで<form>のないページもあるのですが、 必ずしも必要ではないのですか? 2点目にお聞きしたいのがCGIの実行の仕方です。 submitボタンがその装置のようですけど、 これ以外にCGIを実行させる仕組みってありますか。 JAVAScriptのonclickのような使い方の方が 分かり易くていいと思うんですけど。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.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  のリンクをたどるだけで・・・  

uzume_z
質問者

お礼

とても詳しく有り難うございます。 よく分かったような、分かっていないような。。。 やっぱりフォームを使う時は<form>が必要なんですね。 解説のページ見ていると省略しているところあったので。 でもフォームだよなと疑問に思ったので聞いてみました。 CGIって言うのは聞いたことがあったのですが、 多分その内に使うようになるかもぐらいです。 jAVAScriptよりも上だということは初めて知りました。

その他の回答 (1)

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.1

<form>が無いのは、他の方法で代用しているからです。 要は、cgiに実行権を渡せば良いので、方法は色々ありますね。 言われているように、<form>でもいいし、onclickでもいいし、<A>タグのリンクでもなんでもいいですよ。

uzume_z
質問者

お礼

早速のご回答有り難うございます。 onclickでもCGIを実行できるのですね。 <input>とかのフォームを使うときは必ず<form>も セットだと思っていたんですが、そうでもなさそうですね。

関連するQ&A