• ベストアンサー

<form method=post action="***.cgi">~</form>の場所は?

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

  • kajita
  • お礼率75% (130/172)
  • CGI
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • mario33
  • ベストアンサー率19% (7/36)
回答No.3

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

その他の回答 (2)

  • sion_fs
  • ベストアンサー率36% (152/416)
回答No.2

formの外に質問を置く事は出来ません。 また、formを入れ子にする事も出来ません。 JavaScriptを改造して、1つのformで済むようにして下さい^^;

kajita
質問者

お礼

こんなjavascriptですがどうしたらformを入れ子にせずに済みますか?機能はチェックをいれた瞬間にアラートが返ってきてほしいのですが。(一部のみ抜粋) <script type="text/javascript"> <!-- function limitation(f,limit){ var c=0; for(var i=0;i<f.length;i++){ if(f.elements[i].checked) c++;//現在のチェックされている数を数える } if(c>limit){ alert("最大2つまでしか選べません"); return false; //制限数を超えていたら無かったことにする } else return true; } //--> </script> <title>チェックボックスのチェック数の制限</title> </head> <body> <form name="form1"> 2つまでチェックできます。<br> A<INPUT type="checkbox" name="check1" value="A" onclick="return limitation(this.form,2)"><br> B<INPUT type="checkbox" name="check2" value="B" onclick="return limitation(this.form,2)"><br> C<INPUT type="checkbox" name="check3" value="C" onclick="return limitation(this.form,2)"><br> D<INPUT type="checkbox" name="check4" value="D" onclick="return limitation(this.form,2)"><br> </form>

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

formは入れ子にはできません

関連するQ&A

  • <form method="post" action="の先のサーバー名

    簡単なフォームは、作成できるようになりましたが、教えていただいているところでは、実際のサーバーを使っているため、<form method="post" action="... の先のサーバー名という部分の意味がどうしても理解できないで困っています。どんな情報が必要なのかといった根本的な部分で、理解ができていないのです。 また、form-cgiとかkantan-cgiとか、このcgiの名前というのは、任意にというか勝手に書き込んで動くのでしょうか?質問の意味がわかっていただけるでしょうか?

    • 締切済み
    • CGI
  • javaからcgiの呼び出し

    htmlタグで <form method="post" action="/cgi-bin/gogo.cgi"> とすると、formボタンでcgiが実行されますが、これと同じことを下記のjavaで実行する方法を教えてください。 <script type="text/javascript" language="javascript"> <!-- function gogo(){ cgi呼び出し } //--> </script> <body> <form method="post" action="javascript:gogo()"> ・・・ <input type="submit" value="送信">

  • formとactionとmethodについて

    初心者的な質問で申し訳ないのですが、 formを複数作りたい場合、メソッドをpost/get別々に指定したり、actionを別々のリンクを指定とかって出来たりするんでしょうか。 <form action="next.php" method="post">inputとか</form> <form action="prev.tpl" method="get">hiddenとか</form> 見たいな感じで、それぞれが別々、若しくは <form action="next.php" method="post">inputとか</form> <from action="next.php" method="get">inputとか</form> 見たいな感じで、リンク先は一緒だけどメソッドは違う等の指定方法を教えていただければと思います。 もし、指定出来ることは出来るが、javascriptで制御しなけらばならない等あるのでしたら、 その記述例等も一緒に教えて頂けると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • アンケートCGI作成について、form actionの呼びだし等につい

    アンケートCGI作成について、form actionの呼びだし等について質問です。 初めまして、CGIアンケートを作成しようとしているPerl初心者です。 説明ページ(ex01.html) ↓ フォーム付きアンケートページ(enk01.html) ↓ 説明ページ(ex02.html) ↓ 以下略 という流れでアンケートを続かせたいのですが (だいたい、ex.htmlとenk.htmlが各20ずつくらいです。) フォーム付きアンケートのフォーム <form action="form.cgi" method="post"> <input type="radio" name="Emotion_Body" value="0" checked> 選択肢1 <input type="radio" name="Emotion_Body" value="1"> 選択肢2 <input type="radio" name="Emotion_Body" value="2"> 選択肢3 <input type="submit" value="次のアンケート"> となっていて、actionに次のページのhtmlをいれ込むことができませんでした。 (form.cgi:formから受け取ったデータを外部ファイルへ書きだすCGIファイルです。) フォームの「次のアンケートボタン」を押すと、 form.cgiにフォームのデータを送りつつ、ex02.htmlを表示させるということはできないものでしょうか? 過去ログによるCGIに表示させる方法を書くのだと、 フォームページの間に、ただのhtmlファイルを挟むので、 (例:enk01.html→ex02.html→enk02.html→…) 各ページに対応したCGIファイルを書かなければならないということなのでしょうか? よろしくお願いいたいします。

    • ベストアンサー
    • Perl
  • FORMのIDを指定するとPOSTされない

    フォームの入力チェックをjavascriptで処理するため、FORMにIDをつけたのですが、ボタン押下でチェックが通れば自分自身にPOSTするような形をとっております。しかし、FORMにIDをつけてPOSTをしようとしても、何のアクションも起こりません。IDをはずせばきちんとPOSTされます。原因がわからないので、質問させていただきました。お分かりになる方、ご教授くださいますよう、お願いいたします。 <form id="corpform" method = "POST" action ="自分自身" > <input type="text" name="test" value="test" /> <input type="submit" name="add" value="追加" /> </form>

  • <form>タグについて

    今、ホームページを作成していて、その中でアンケートを<form>を使って作ったのですが<form method="post" action=" ">のaction=" "の部分にCGIのURLではなくメールアドレスを入力したいのです。どのように書けばよいでしょうか?

    • ベストアンサー
    • HTML
  • CGIによるアンケートフォーム

    CGIでのアンケートフォームを作るのに次のコードの○○○△△△.cgiというところには何を入れればいいのでしょうか? <FORM action="○○○△△△.cgi" method="POST">

    • ベストアンサー
    • CGI
  • FormのACTION属性にいて

    FORMのACTION属性を、選択型にはできないでしょうか? <form action="" method=post> 例えばユーザーがフォーム内の項目でAを選択したら、actionの中をA.cgiに。 Bを選択したらB.cgiにするような事はできますか? 通常はactionの中は1つしか指定できないのですが、ユーザーの選択によっては、フォームの値をA.cgiに渡したり、B.cgiに渡したりできると良いと思っています。 CGIを利用しないと無理かもしれませんが、何か良い方法や便利なCGIがありましたら、教えて頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • CGI:method="post"でもGETになる

    CGIで標準入力によりフォームデータを取得できないため、環境変数%ENV内の値を 調べましたところ、入力フォーム(html)のformタグでmethod="POST"と明示しているにも 拘らず、REQUEST_METHODの値がGETになっており、POST用のCONTENT_LENGTHも GET用のQUERY_STRINGも共に空になっております。 htmlでmethod="GET"と指定した場合には、REQUEST_METHODの値は正しくGETになり QUERY_STRINGからフォームデータを取得できます。 同じCGIをPC上のApache2.4でテストした結果、REQUEST_METHODはhtmlのmethod=~で 指定した通り正しくPOSTまたはGETとなり、それぞれフォームデータを 取得できることを確認いたしております。 この点についてプロバイダに問合せいたしましたが、サポート対象外ということで、 回答を得ることができませんでした。 このような現象の原因について、お心当たりのある方がおられましたら、 ご教示いただけないでしょうか、お伺いいたします。 (1)ホスト動作環境 a.CGIサーバ:Apache b. perl 5.10系 (2)PC動作環境 a.OS: Windows 7 b.ブラウザ: Internet Eexplorer 11 c.CGIサーバ: Apache 2.4 d. Activeperl 5.20

    • 締切済み
    • CGI
  • ホームページビルダーで作成したアンケートフォームの回答をCGIによってメールで受信するには?

    昨日「ホームページビルダー(HPB)で作成したアンケートフォームの回答をCGIによってメールで受信する方法」について質問をあげさせていただいた者です。 *昨日の質問:http://oshiete1.goo.ne.jp/qa3667373.html NymphLuna様、nak777r様、tengujapan様ありがとうございました。 NymphLuna様からのアドバイスに従い実行したところ、何とかCGIの設置には成功したようです。 KENTさんのサイトよりDLしたpostmail.cgiについてアドバイスに従って若干の書き込みを加え、簡易チェック(http//~/intra/aaa/bbb/ccc/postmail.cgi?mode=check)をブラウザで行ったところ、エラーらしき画面は出ませんでした。 *KENTさんのサイト:http://www.kent-web.com/data/postmail.html 残るは、HPBで作成したアンケート(enquete.html)のFORMタグの変更で完了か!?と思いきや、アンケートの送信ボタンを押すと、『Method Not Allowed  The requested method POST is not allowed for the URL /intra/aaa/bbb/ccc/postmail/postmail.cgi.』と表示されてしまいました。 HPBからのFORMタグは以下のようなもので、 <FORM name="HPB_ELQ_QUESTION" action="mailto:私のメールアドレス?Subject=社員アンケート" enctype="text/plain" onsubmit="return HpbELQCheck();" onreset="HpbELQReset();" method="POST"> これを、NymphLuna様にアドバイスいただいた通り、KENTさんの設置例に従い、<form action="./postmail.cgi" method="POST">に置き換えたところ、「ページが見つかりません」と表示されてしまうため、<form action="postmail/postmail.cgi" method="POST">としたところ、今度は上述の「Method Not Allowed」が表示されてしまいました。MethodをGETに変えてみたのですが、上述の簡易チェックで表示される画面と同じものが表示されてしまいます。 そこで質問は、恐らくCGIは設置できていると思うのですが、FORMタグはどのように変更すればよいのでしょうか?どうすればアンケート結果をメール受信できるようになるのでしょうか? 皆さま、どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI

専門家に質問してみよう