• ベストアンサー

外部ファイル(js)の呼び出し方法を教えてください。

諸先輩方に、また質問させて下さい。 皆様のお力をお借りしjavascriptを利用してリンク先を変更させる事を解決する事が出来ましたが 外部呼出し(js)した場合、エラーが起こってしまいます。 他のjsファイルの場合は、何事も無く表示されるのですが、今回のリンク先変更という 変わった事をするのは初めての為、何が原因なのか全く解かりません。 jsに載せたいのは以下のスクリプトです。また表示させたいのはhtmlのテーブル内です。 恐らくですが・・テキストフォーム等が一緒だから駄目なのでしょうか・・・。 その場合の解決方法も教えていただければと思います。 呼び出すjsファイル例 <script language="javascript" src="change.js"> ======= <script> function change(){ var change=document.getElementById("change"); var tags=document.getElementsByTagName("a"); for(var i=0;i<tags.length;i++){ var url="http://aaa.bbb.ccc/"; var url2="?ddd="; var url3="eee"; var url4="&fff="; if(tags[i].href.match(url)){ tags[i].href=url+url2+url3+url4+change.value; }; } } </script> <a href="http://aaa.bbb.ccc/?ddd=eee&fff=xxxxx" target="_blank"> <img src="http://aaa.bbb.ccc/image/ddd.gif"></a> <br> <input type="text" id="change"><input type="button" value="変換" onclick="change()"> 以上です。宜しくお願いします。

noname#76175
noname#76175

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

  • ベストアンサー
  • Werner
  • ベストアンサー率53% (395/735)
回答No.2

> ファイル内の<script>タグは外しています。 > やはり<a><img>も一緒に入れているからなのでしょうか? jsファイルには元々script要素内にあった記述を書きます。 script要素外の記述はHTMLであってJavaScriptではありません。 (よってjsファイルに書いてはいけません。)

noname#76175
質問者

お礼

ご回答ありがとうございます。 不可能と言うことですね・・・。 では他の方法を探してみます。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

エラーの内容が不明ですが、読み込み時に起こるのでしょうか、実行時に起こるのでしょうか? 1)読み込み時に起こる場合  jsファイルが正しいアドレスにあるか、ファイルがきちんと転送されて  いるか、転送時のモードが正しいか(バイナリ、アスキー)、属性設  定が間違っていないかなどを再度ご確認ください。 2)実行時に起こる場合  jsファイル内のスクリプトに<script>タグを記載していませんか?  外部ファイルにした場合は、スクリプトのみ記載すればOKです。

noname#76175
質問者

補足

早速のご回答ありがとうございます。 エラー内容は読み込み時・・というか、 何も表示されないので、読み込みができていないのかな? と思うのですが・・。他のjsファイルは大丈夫で、 これだけなので何故なのか解かりません。 ファイル内の<script>タグは外しています。 やはり<a><img>も一緒に入れているからなのでしょうか? もしそうでしたら解決方法をお教え頂けないでしょうか・・? 宜しくお願いします。

関連するQ&A

  • html内>テーブル内に複数のjavascriptの設置方法を教えてご教授下さい・

    皆様のお力をお借りし、javascriptを利用してリンク先の変更を無事解決できました。 次に行おうとしたのが外部ファイル(js)にて呼び出そうと試みましたが、 jsファイル内にhtmlが入っている為、不可能だということも解かりました。 html内に複数のjavascriptを、しかもテーブル内に載せてみたのですが 全てが同時に動いたり、全て動かなかったり、上のテキスト領域に記入したのに 下のリンク先が変更になっていると言う様な、良く解からない状況になりました。 下記が現在の状況なのですが、どなたか改善点をご教授願えませんでしょうか? ・・贅沢と我侭を言えば、正解をそのまま記載していただきたいです・・・。 ===ここから==== <table border="1" width="300" height="100"> <tbody> <tr><td height="100"> <script> function change(){ var change=document.getElementById("change"); var tags=document.getElementsByTagName("a"); for(var i=0;i<tags.length;i++){ var url="http://aaa.bbb.ccc/"; var url2="?ddd="; var url3="eee"; var url4="&fff="; if(tags[i].href.match(url)){ tags[i].href=url+url2+url3+url4+change.value; }; } } </script> <a href="http://aaa.bbb.ccc/?ddd=eee&fff=xxxxx" target="_blank"> <img src="http://aaa.bbb.ccc/image/ddd.gif"></a> <br> <input type="text" id="change"><input type="button" value="変換" onclick="change()"> </td> </tr> </tbody> </table> <br> <table border="1" width="300" height="100"> <tbody> <tr><td height="100"> <script> function change(){ var change=document.getElementById("change"); var tags=document.getElementsByTagName("a"); for(var i=0;i<tags.length;i++){ var url="http://000.111.222/"; var url2="?333="; var url3="444"; var url4="&555="; if(tags[i].href.match(url)){ tags[i].href=url+url2+url3+url4+change.value; }; } } </script> <a href="http://000.111.222/?333=444&555=xxxxx" target="_blank"> <img src="http://000.111.222/image/333.gif"></a> <br> <input type="text" id="change"><input type="button" value="変換" onclick="change()"> </td> </tr> </tbody> </table> ===ここまで==== 自分の出来る範囲を超えているのは重々承知しておりますが 何とか実現したい事ですので、どうか宜しくお願いします。

  • リンク先のアドレス内に「?」が入っている場合の対処法

    先日、元々のリンク先から1行テキスト領域にID等を入力し各々異なる場所に飛ばす方法を教えていただきました。 そして解決したのですが、そのアドレスに「?」が入っている場合、反応しないようです・・・。 解決方法はあるのでしょうか?どなたかご教授お願いします。下記が現在組んでいるものです。 ●通常のアドレスの場合(「?」無し) ※これは成功します <script> function change(){ var change=document.getElementById("change"); var tags=document.getElementsByTagName("a"); for(var i=0;i<tags.length;i++){ var url="http://aaa.bbb.ccc/" if(tags[i].href.match(url)){ tags[i].href=url+change.value; }; } } </script> <a href="http://aaa.bbb.ccc/" target="_blank"> <img src="http://aaa.bbb.ccc/image/d.gif"></a> <input type="text" id="change"> <input type="button" value="変換" onClick="change()"> ●「?」がアドレス内にある場合 ※これは反応しません <script> function change(){ var change=document.getElementById("change"); var tags=document.getElementsByTagName("a"); for(var i=0;i<tags.length;i++){ var url="http://aaa.bbb?.ccc/" if(tags[i].href.match(url)){ tags[i].href=url+change.value; }; } } </script> <a href="http://aaa.bbb?.ccc/" target="_blank"> <img src="http://aaa.bbb.ccc/image/d.gif"></a> <input type="text" id="change"> <input type="button" value="変換" onClick="change()"> 宜しくお願いします。

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • Excelの関数に詳しい方、お願いします。

    わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.

  • jQueryの繰り返し

    下記のようなスクリプトで.cccと.ddd、.eeeと.fffにも同じ処理を適用したいです。 繰り返し処理のようなことができればシンプルなコードで書けると思うのですがやり方がわかりません。 キレイな書き方を教えていただけないでしょうか。 宜しくお願いします。 //スクリプト $(function(){ var $value1 = $('.aaa'); var $value2 = $('.bbb'); 処理内容 });

  • 文章中のファイルリンクを置換したい

    文章をjavascriptで読み込み、 以下のような文章のなかに埋まっているファイルリンクの文字を 置換してあげたいのですが、正規表現で表現しきれないでしょうか? ■例: ---以下文章---- あああああ いいいいい \\AAA\BBB\CCC ううううううう \\CCC\DDD\EEE えええええ --------------- とあった時に、下記のようにしたいと考えています。 --------------- あああああ いいいいい <a href="file:////AAA/BBB/CCC">\\AAA\BBB\CCC</a> ううううううう <a href="file:////DDD/EEE/FFF">\\DDD\EEE\FFF</a> えええええ --------------- 今考えている限りだとは\\までを含む文章まではマッチさせて、 リプレースできるのですが、 文章の中の\を/に置き換える方法が思いつきません。 ■私の頭の限界の正規表現だけだと下記までしか思いつきませんでした。 str.replace ( /(\\\\[^ \s\:\*\?\"\<\>\|\#\{\}\%\&\~]+)/gi , <a href=\"file:\/\/$&\">$&<\/a>)> どなたか思いつくことありましたらお知恵をかしていただけないでしょうか。

  • bshスクリプト で質問です。

    以下の内容のtmp.txtを aaa bbb ccc ddd eee fff 行末がbbbなら結合としたいです。 --希望結果-- aaa bbb ccc ddd eee fff この場合以下のスクリプトでうまくいかないのですが 原因を教えていただけますか? awk '{ gsub("bbb[\n]$","",$0); print }' tmp.txt OS、HP-UX11.0です。

  • C言語による「テキストファイルの読み書き(fprintf)」について

    C言語による「テキストファイルの読み書き(fprintf)」について質問です ずぶの初心者ですが、既知のファイルの1行目に指定した文字列を付加させるプログラムを作りたいと思っています。 以下のように作りました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { FILE *fp; fp = fopen("test.csv","r+"); fprintf(fp,"コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56\n"); fclose(fp); return 0; } ------------------------------------------------------------ このとき「test.csv」の内容が以下のようであったとします。(容量は1MBくらいです。) 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj この状態でプログラムをコンパイルして実行すると、「test.csv」の内容が以下のようになってしまいます。(一行目が消える) AAA,BBB,CCC,DDD,EEE 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj またcsvの行が増える度に妙な挙動になっていきます・・・(一行あいたり、先頭行が5行ほど消えたり) 希望する動作としては コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj のようになるようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。 (使用ソフト:Borland C++ Compiler, Cpad) 参考にしたサイトの項目:http://homepage3.nifty.com/mmgames/c_guide/17-01.html

  • シェルスクリプトにてファイルの結合

    お世話になります。 ある3つのファイルfile1 file2 file3 の内容が file1が 111 222 333 file2が aaa ddd bbb eee ccc fff file3が xxx yyy zzz という内容を file4に 111 aaa ddd xxx 222 bbb eee yyy 333 ccc fff zzz という具合に横に結合させて出力させたいのですが どうしていいか分かりません。 sedとかawkを使えばいけそうなんですが 分かる方いらっしゃいませんか??? 宜しくお願いいたします。

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。