- ベストアンサー
フォーム送信できないのは<TABLE>が原因?
- テーブルの中にフォームを入れると、フォーム送信ができない問題が発生しています。
- CGIプログラムにアクセスできない原因は、テーブル内のフォームにある可能性があります。
- テーブル内のフォームにsubmitボタンを押しても、CGIプログラムにアクセスできない問題が発生しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 追加確認: form methodが「GET」になってますがなぜですか? $#yakugoが幾つ位になるか分かりませんが、送信可能な最大文字数を超えませんか? $yakugotextどのように使用されているのかまったく想像つきませんが、前半部が print文になっていないことといい、肝心なところを省略していませんか?
その他の回答 (3)
- Marionette
- ベストアンサー率56% (42/74)
>(3)CGIプログラムというのは、自らの中からさらに他のCGIプログラムにアクセスするような仕様が可能でしょうか? 可能と回答しましたが、「アクセス」とはどのような意味で使ってますか? 質問は、主語、述語を明確に、意味がわかるように詳しく書いてください。
お礼
フォームのaction に指定されているxxxx.CGIプログラムの中でさらにフォームを設置し、action=yyyy.cgi としてsubmit を実行することが可能かどうかをお尋ねしました。文章が不明確でした。申し訳ございません。以後正確な文章を書くように心がけます。済みませんでした。
- Marionette
- ベストアンサー率56% (42/74)
submitボタンの4つくらいたいしたことありません。30個程度作ってますけど、ぜんぜん問題ありません。 >(1)フレームやテーブルによってフォームの送信が行われないことはあるのですか? W3Cの勧告には違反しているかもしれませんが、現実問題としては <form>が <table>の中にあっても、問題なく動きます。 >(2)部品submit ボタンのname を書かないでいい時と書かなければいけないがあるのですか? <form>~</form>内に1つのsubmitボタンであれば(<form>が複数あっても)必要ありませんが、2つ以上のsubmitボタンだとどのボタンが押されたか評価しないといけないので(valueの)値を受取るために名前が必要では? >(3)CGIプログラムというのは、自らの中からさらに他のCGIプログラムにアクセスするような仕様が可能でしょうか? 可能です。CGIプログラムに限らず、HTMLでさえ<META>タグの「refresh」で他のプログラム、HTMLへジャンプすることが出来ます。 ところで、質問とは無関係な内容もありますが気づいた点です。 1.「for」から上が print文になってませんが、いいんでしょうか? ちゃんと出力されているか出力結果を「表示」→「ソース」で確認してください。 2.省略しただけかもしれませんがヒアドキュメントの終わりの「EOD」がありません。 3.二つ目の<textarea>の cols, rowsが「1」というのはどういうことでしょう? 4.同じく$yakugotextの「"」は不要。
- the845t
- ベストアンサー率33% (246/743)
hiddenyakugoのテキストエリアが、セルに入っていないようですが? あと、 閉じもおかしくないですか? </tr>は良いとして、その後に</th>があるのは変ですよ。 あと3つあるsubmitボタンは何か意味があるのでしょうか?
お礼
おっしゃるとおり、submit ボタンが4つもある仕様なんです。一つのフォームの部品としては、このほかに、オプションメニューが一個、またinput が2つあるなど、かなり負担の大きなフォームになっています。で、action に指定したCGIプログラムにアクセスできているのは一つだけで、他の三つのボタンは死んでいます。また、フォームの部品に入った値も一部の部品の値しか読めていません。 言葉ではお伝えしにくくて残念です。フォームというのはどういう制限があるのでしょうか? (1)フレームやテーブルによってフォームの送信が行われないことはあるのですか? (2)部品submit ボタンのname を書かないでいい時と書かなければいけないがあるのですか? (3)CGIプログラムというのは、自らの中からさらに他のCGIプログラムにアクセスするような仕様が可能でしょうか?
お礼
省略の仕方が不適切でした。申し訳ございません。以後気をつけます。 フォームのメソッドをPOSTにしたら一部問題が解決しました。この違いがあることを忘れていました。 どうもありがとうございました。