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

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

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

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

A 回答 (1件)

ご想像の通りです。



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

この回答への補足

さっそくの回答ありがとうございます。
可能なようですね、ありがとうございました。

さっそくやってみます。

補足日時:2001/02/27 10:32
    • good
    • 0

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

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

QCGI(PERL)でsubmitボタンを押すことが出来ますか?

畏れ入ります。

perlで
生成したHTML上の
submitを実行することは出来ますか?

人間がボタンを押すのではなく、
例えば、5秒たったら、submitをCGIがする、といったようなことです。

Aベストアンサー

> perlで
> 生成したHTML上の
> submitを実行することは出来ますか?
JavaScriptを使えばできますよ。
HTMLでは・・・できなくは無いですがGETメソッドオンリーになります。

QCGIの中で出力するテキスト内容をhtml側で表示する方法。

htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。
今やって失敗している方法です。どのようにするのが良いか教えて頂ければ幸いです。

1.CGIスクリプト(Perlで記述)を用意... test.cgi
-----------------------------------------------------
#!/usr/bin/perl
print "Content-type:text/html; charset=shift_jis\n\n";
print <<__EOD;
<html lang="ja">
<head>
<title>TITLE</title>
</head>
<div align=center>
<a>テスト1</a><br>
<a>テスト2</a><br>
</div><br>
</body></html>
__EOD

open(OUT,">a.tmp") || die "$!";
print OUT "aaaaa\n";
close(OUT);
-----------------------------------------------------


2.htmlを用意 ... test.html
-----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>HTML TEST</title>
</head>
<body>
<script src="http://xxx/CGI/test.cgi"></script>
</body>
</html>
-----------------------------------------------------

上記のとき、動作として、

◆ブラウザからCGIのパス(http://svr1/CGI/test.cgi)に直接アクセスした場合、
「テスト1」「テスト2」の文字が表示され、a.tmpファイルも作成されている。

◆ブラウザからhtml(http://svr1/test.html)にアクセスした場合、ブラウザ画面は何も表示されない
(真っ白となる)が、a.tmpファイルは作成されている。

のようになってしまいます。

後者のようにして、htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。

以上、よろしくお願い致します。

htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。
今やって失敗している方法です。どのようにするのが良いか教えて頂ければ幸いです。

1.CGIスクリプト(Perlで記述)を用意... test.cgi
-----------------------------------------------------
#!/usr/bin/perl
print "Content-type:text/html; charset=shift_jis\n\n";
print <<__EOD;
<html lang="ja">
<head>
<title>TITLE</title>
</head>...続きを読む

Aベストアンサー

<script src="http://xxx/CGI/test.cgi"></script>としているなら
perlで出力するヘッダーは
print "Content-Type: application/x-javascript\n\n";
としないとならないでしょう。

perlではjavaScript構文を出力します。

例えばhtmlでは・・
<BODY>
<SCRIPT TYPE="Text/Javascript" LANGUAGE="Javascript">
<!--
document.write ("<SCRIPT TYPE=\"text/JavaScript\" SRC=\"test.cgi\"></SCRIPT>");
// -->
</SCRIPT>
</BODY>

として、perlでは

#!/usr/bin/perl
print "Content-Type: application/x-javascript\n\n";
print "document.write('<A HREF=\"other.html\">てすと</A>');";

てな感じです。

<script src="http://xxx/CGI/test.cgi"></script>としているなら
perlで出力するヘッダーは
print "Content-Type: application/x-javascript\n\n";
としないとならないでしょう。

perlではjavaScript構文を出力します。

例えばhtmlでは・・
<BODY>
<SCRIPT TYPE="Text/Javascript" LANGUAGE="Javascript">
<!--
document.write ("<SCRIPT TYPE=\"text/JavaScript\" SRC=\"test.cgi\"></SCRIPT>");
// -->
</SCRIPT>
</BODY>

として、perlでは

#!/usr/bin/perl
print "Content-Type: appli...続きを読む

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を呼び出したらいいと思います。

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

という感じになります。

Qexec cgi ="aaa.cgi" を有効にする方法

<!--#exec cgi="./aaa.cgi" -->
を記述したshtmファイルからcgi を呼び出そうとすると

スクリプト './test6.cgi' を実行できませんでした: Win32 エラー コード = 2

と表示されて実行できません。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpiis/iishelp/iis/htm/core/iiregwww.asp
を参考に、レジストリを書き換えても出来ません。
どう設定すれば実行できるようになるのでしょうか?

IIS5.0(w2000pro) + ActivePerl

Aベストアンサー

Win32 エラー コード = 2 ってパスが見つからない場合が多いんですが、その辺はどうでしょうか?

・/CGI格納場所/test6.cgi
 または
 http://フルパス/test6.cgi

ではどうでしょうか?
一応以下も。

・test6.cgiは単体で動きますか?
・権限関連は?


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

おすすめ情報