• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:簡単なfunctionが完成できません)

簡単なfunctionが作れない!引数のファイル名を別ウィンドウで開くには?

このQ&Aのポイント
  • 素人が作成した<a>タグを使ったリンクが正常に動作しない問題について解決方法を教えてください。
  • headタグにあるOpenDetailメソッドを使って引数のファイル名を別ウィンドウで開く方法について知りたい。
  • 質問者は作成したOpenDetailメソッドが正常に動かないため、その修正方法を教えてほしいと求めています。

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

  • ベストアンサー
  • NTJ
  • ベストアンサー率44% (46/103)
回答No.1

問題点は、二つあります。 一つ目は、 <a href="javascript:OpenDetail("001.htm");">詳細はこちら</a> ここの書式です。 ダブルコーテーションが入れ子になってしまっています。 <a href="javascript:OpenDetail(\"001.htm\");">詳細はこちら</a> または <a href="javascript:OpenDetail('001.htm');">詳細はこちら</a> とすればOKです。 もうひとつ、引数にvar は不要です。 function OpenDetail(file){ win1=window.open(file,"win1","width=800,height=630,scrollbars=yes"); } で、OKです。 でも、200も同じのを書くのは嫌ですよねぇ・・・ <script language="JavaScript"> <!-- // 子画面ソース名配列 var url=0; var mess=1; var files=[ ["001.htm","001の詳細はこちら"], ["002.htm","002の詳細はこちら"], ["003.htm","003の詳細はこちら"],  ・  ・  ・  ・ ["200.htm","200の詳細はこちら"], ]; /** * 子画面オープン関数 */ function OpenDetail(fileNo){ win1=window.open(files[fileNo][url],"win1","width=800,height=630,scrollbars=yes"); } /** * リンクの一覧を作る処理 */ for(var i in files) document.write('<a href="javascript:OpenDetail(i);">'+files[fileNo][mes]+'</a><BR>'); // --> </script> 少々ややこしいですがこの方法なら、URLとファイル名を一括管理できるのでかなり楽になります。 ファイル番号に飛びが発生したり、URLを変更したい場合なども、配列を修正するだけで一発で変更可能です。

sasakuri
質問者

お礼

できました!ありがとうございます! おまけまで付けていただいて参考になります。

関連するQ&A