• ベストアンサー

エラー回避の方法

単純なことになるかもしれませんが、エラーが回避できずに困っています。 ソース(抜粋・パスはゼッタイパスです。) <TD><IMG src=イメージ.gif onclick="window.open("~.cgi?code=$ID", graph, 'width=400,height=400,');" style=cursor:hand><BR></TD> エラーログ ランタイムエラーが発生しました。 デバッグしますか? 行** エラー:構文エラー 私自身JavaScript勉強中のため、なぜこうなるのか?どう回避(というかソースの改善?)すればいいのか?判らずにいます。 御指導おねがいします。

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

  • ベストアンサー
  • Kizz
  • ベストアンサー率47% (30/63)
回答No.3

はじめまして、macky0225さん。 このコードでいうなら2個所直しが必要ですね。  1.「"~.cgi?code=$ID"」を''囲み、つまり「'~.cgi?code=$ID'」  2.「graph」を''囲みに、つまり「'graph'」 参考)  ・HTMLタグの属性は、""囲みや''囲み、場合によっては囲みなしでもOKです。   ※属性と属性の間にはスペースで区切りは必要ですが。  ・ただし、onClick()などのイベントハンドラ定義の場合は、属性の値を囲む   大囲いの他に内部で文字列部分を囲いたい場合があるかと思います(今回のような)。   この場合は、大囲いを""にし、内部の文字列部の囲いを''囲いにします。   ※大囲いを''で内部囲いも''では構文エラーになります。    つまり、""で中も""と、''で中も''の場合にエラーとなるのは、2つめの    "や'の位置で属性値の指定が終わりとブラウザは解釈するので、その位置以降が    不明な指定=構文エラーとなってしまうのです。 がんばってくださいね。

macky0225
質問者

お礼

なるほど~、先の方々へのお礼でも書きましたが、囲い・括りという概念が頭に無かったため起こるべくして起こったエラーのようですね(^^ゞ 特に参考として書いていただいている部分、ホントに勉強になりました(^o^)丿 有難う御座いました♪

その他の回答 (2)

  • sorarisp
  • ベストアンサー率58% (7/12)
回答No.2

><TD><IMG src=イメージ.gif onclick="window.open("~.cgi?code=$ID", graph, 'width=400,height=400,');" style=cursor:hand><BR></TD> graphは変数ですか?? リテラルの文字列であれば、["]若しくは[']で括る必要があります。 それと、"~.cgi?code=$ID"ですが、既にonclickで["]を使用しているので[']で括ります。 <IMG src="イメージ.gif" onclick="window.open('~.cgi?code=$ID', 'graph', 'width=400,height=400,');" こういう書き方も有ります。 <A href="~.cgi?code=$ID" border="0" target="_blank"><IMG src="イメージ.gif" style=cursor:hand></A> 参考までに。

macky0225
質問者

お礼

わざわざ正しい書き方まで記載して頂き有難う御座いますm(__)m 先の方へのお礼でも書きましたが、""若しくは''で括るということは全然判らなかったので大変勉強になりました。

  • tyom77
  • ベストアンサー率57% (68/119)
回答No.1

macky0225さん、こんにちは。 graphの部分を'graph'もしくは"graph"にすれば、直ると思います。 要は前後の構文のように""か''で囲まないといけないということです。

macky0225
質問者

お礼

なるほど、''囲いか""囲いが必要ということですね 勉強不足を露呈してしまいましたね(^^ゞ 有難う御座いました。

関連するQ&A

  • CGIからCGIのサブウィンドウ(?)をあける方法

    CGIを利用してホームページを作成しています。 CGIで帳票形式の一覧表を作成し、その中のイメージをクリックすることによってサブウィンドウ(これもCGIで作成したものです)をあけようとしているのですが、知識が乏しいため、上手く処理できません。 ソース(抜粋の為アドレスは消してありますが絶対パスで書いてあるとして下さい) print "<TD><IMG src=~graph.gif onclick="window.open(~graph.cgi?code=$ID, graph,'width=400,height=400');"><BR></TD>\n"; これだとどうしてもエラーが出てしまいます。 どなたか改善方法を教えてください。また、もっと良い方法があるならそちらも教えて頂きたいです。

    • ベストアンサー
    • CGI
  • IE限定可 <tr>~</tr>タグの上げ下げ方法は?

    <FORM id=formid name=frm action=#> <table> <tr onclick=chCell(this) onFocus=chCell(this)> <td style=CURSOR:hand>cell 1</td> <td style=CURSOR:hand>hoge</td> </tr> <tr onclick=chCell(this) onFocus=chCell(this)> <td style=CURSOR:hand>cell 2</td> <td style=CURSOR:hand>hoge</td> </tr> <tr onclick=chCell(this) onFocus=chCell(this)> <td style=CURSOR:hand>cell 3</td> <td style=CURSOR:hand>hoge</td> </tr> <table> <input type="button" value="項目を上げる"> <input type="button" value="項目を下げる"> </form> 上記のようなフォームで以下の事が実装したいのですがどなたかご教授頂けませんでしょうか。 ・ 項目(行)をクリックすると色が変わる ← (実装済み) ・ 行を指定して「項目を上げる」をクリックすると上へ上がる ・ 行を指定して「項目を下げる」をクリックすると下へ上がる ・ 矢印キーでフォーカスの上下移動 何卒お願い申し上げます。

  • ランタイムエラーってなんですか?

    インターネットに接続して、ホームページを検索していると、時々出てくるエラーメッセージなのですが・・・。 「ランタイムエラーが発生しました。デバッグしますか?」というものです。さっきは、その下に「構文エラーです。」とありました。 いいえと答えると、しばらくしてまたエラーになるし、かといって、はいと答えても、出てくる画面は、何をしたら良いのかさっぱりわかりません。結局、そのページをとじて、あきらめてしまうのです。 ランタイムエラーって?デバッグって?言葉の意味すらわからないので、教えてください。

  • ランタイムエラーについて

    NEC VY22Xで WinXPを 使って IEで あるホームページを 見に行くと エラー表示が出て  ランタイムエラーが 発生しました  デバッグしはすか? 行:37 エラー:構文エラーです というのが 行くたびに 出ます  どうすれば エラー表示が でなくなりますか?

  • ランタイムエラーって?

    データCDを再生し、リンク先をクリックすると必ず 「ランタイムエラーです。デバッグしますか  行:38  エラー:オブジェクトを指定してください。」 が表示されます。どうしてでしょう?また、解決策を教えて下さい。 エラーログの所で、「はい」と「いいえ」のボタンが出るのでクリックすると先へすすむんですけど・・・(どちらを押しても先へ進みます) PCはWindows2000です よろしくお願いします。

  • 「ランタイムエラーが発生しました。」というデバッグについて

    パソコンのことはほとんど分からないので教えてください。 以前は問題なかったのですが、 少し前から 「ランタイムエラーが発生しました。 デバッグしますか? エラー:構文エラー」 というウィンドウがでます。 OKを押せば何も問題はないのですが、 このエラーの対処法を教えてください。 よろしくお願いします。

  • Mac IE でスクリプトエラー

    <SCRIPT language="JavaScript"> <!-- function OpenWin1(){ win1=window.open("map-page.html","詳細地図","width=482,height=445"); } // --></script> で、 <IMG src="images/map.gif" width="175" height="76" border="0" onclick="OpenWin1()" style="cursor: hand"> の画像をクリックすると、スクリプトエラーが出てしまいます。 Windowsでは問題ないのですが、MacのIE5で出ます。 MacのIE4では、ちゃんと表示されたのですが。。。 何か解決方法はありますでしょうか?

  • テーブルリンクに付いて

    下記のテーブルリンクを作成しましたがクリックしても説明文が表示されません どなたか教えて下さい <p align="center"> <TABLE HEIGHT=30 BORDER=1 BGCOLOR="#FFFFFF" CELLSPACING=0> <TR> <TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://uye43ys.dousetsu.com/simpleVC_20110728074105.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">特典サービス</TD> <TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://uye43ys.dousetsu.com/simpleVC_20110728075504.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">車検費用</TD>

  • <td>の中のonClick="location" で

    教えて下さい。 <td class="text-small" style="cursor:hand" onClick="location.href=''">XXXXXX</td> 上記のような記述に「target="_blank"」の機能をもたせるにはどうしたらいいのでしょうか? (セル内のどこでもクリックできるようにしたく、かつその時別ウィンドウが開くようにしたいのですが・・・) 宜しくお願いします。

  • ランタイムエラーがたびたび発生します

    いつもお世話になっています。 ネットで企業のhpにいくと、「ランタイムエラーが発生しました デバッグしますか?」 という表示が出ます 加えて「行:xxx エラー:オブジェクトがありません」と表示されます いつも”いいえN”をクリックしていますが何度も出るとこれも面倒です 回避する方法はないでしょうか? よろしくお願いします