CGIを利用してホームページを作成しています。

CGIで帳票形式の一覧表を作成し、その中のイメージをクリックすることによってサブウィンドウ(これもCGIで作成したものです)をあけようとしているのですが、知識が乏しいため、上手く処理できません。

ソース(抜粋の為アドレスは消してありますが絶対パスで書いてあるとして下さい)
print "<TD><IMG src=~graph.gif onclick="window.open(~graph.cgi?code=$ID, graph,'width=400,height=400');"><BR></TD>\n";

これだとどうしてもエラーが出てしまいます。
どなたか改善方法を教えてください。また、もっと良い方法があるならそちらも教えて頂きたいです。

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

A 回答 (2件)

print "<TD><IMG src=~graph.gif onclick=\"window.open(~graph.cgi?code=$ID, graph,'width=400,height=400');\"><BR></TD>\n";



この様にしてみていただけますか?
print文を""で囲まれていますが、onclick=の後ろの"の部分で""の囲まれている部分が終わってしまっているためにエラーが出ているのだと思います。
"の前に\をつけることにより回避出来ますので試してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます!エラーの回避に成功しました(^o^)丿
ただ・・・ジャンル違いの話になり申し訳ないんですが、今度は別のエラーログが出てきて・・・
内容は「ランタイムエラーが発生しました。デバッグしますか? 行** エラー:構文エラー」となっています。
私も回避できるよう調べますが、申し訳ありませんが、こちらについても御指導願えますか?

お礼日時:2002/01/29 19:39

JavaScriptのエラーのようですね。


私は、JavaScriptはほとんど知らないもので、ちょっと分かりません。

サブウインドウはJavaScriptで出さなければいけないのでしょうか?
普通に<a href=URL target="_blank"><img src=URL></a>
としても、別ウィンドウに表示されると思いますが。

お役に立てなくてすみません。
    • good
    • 0
この回答へのお礼

なるほど、そーやって対処するほうが確実かもしれませんね(^o^)丿
度々の御指導有難う御座いましたm(__)m

お礼日時:2002/01/30 10:06

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

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

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

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

Q[返信]

夜分にすみません。
[~]の鍵括弧はどういう言語なのでしょうか?
htmlの辞書に載っていませんでした・・。

Aベストアンサー

ブラウザで見ると
[返信]
って感じになり「返信」のトコだけ下線付きのリンクになります。
「[」と「]」は単なる文字ですよ(笑)

Q ではなく普通のリンクで cgi を起動する方法

検索結果が多い時に、結果を1つのページに最大で10個表示させて
複数のページにわけたいと思います。 Submit ボタンではなく

1 2 3 4 5

のようなリンクから cgi を起動したいのですが、
アドバイス頂けますでしょうか?

search?value=10

のようにして $_GET から受け取る方法もありますが、
出来れば POST を使いたいと思います。

Aベストアンサー

<a href="javascript:jumpmenu()">1</a>
<a href="javascript:jumpmenu()">2</a>
<a href="javascript:jumpmenu()">3</a>
<a href="javascript:jumpmenu()">4</a>
<a href="javascript:jumpmenu()">5</a>
として、jumpmenu()で、処理の最後に"submit();"を実行すれば
POSTできます。

QCGIで<br>の表記の仕方

タイトルの通りです。
CGIを作ろうとしているのですが、<br>を表示したいと思っています。
どう表記したら良いのでしょう。
素人的に¥”<br¥”>としましたがうまく行かなかったです。
よろしくお願いします。

Aベストアンサー

もしかして、ブラウザで見たときに「<br>」と見えるようにしたい、ということでしょうか?

だとすると、CGI や perl の問題ではなく HTML の範囲ですね。

print "&lt;br&gt;";

でいけるのでは?


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

おすすめ情報