- ベストアンサー
JavaScriptの値を表示するには
ホームページを作っていて、CSVファイルから日付データを読んで画面に表示させ、表示させた日付をクリックしたとき、その日付の内容を次ページで表示させようと思っています。CSVファイルを読むところはできたのですが、表示できません。また、クリックできるようにするにはどうすればいいですか。初歩的だと思いますが、よろしくお願いします。 function prcTextFileRead() { var objFileSys; var objInFile; var strScriptPath; var strFileName; var strFilePath; var strRecord; var i = 1; var words = new Array(); objFileSys = new ActiveXObject("Scripting.FileSystemObject"); strFilePath = objFileSys.BuildPath(strScriptPath,strFileName); try { objInFile = objFileSys.OpenTextFile(strFilePath,1); strRecord = objInFile.ReadLine(); do { strRecord = objInFile.ReadLine(); words[i] = strRecord.split(","); document.f.Date.value = words[i][1]; i++; } while(objInFile.AtEndOfStream==false); objInFile.Close(); } catch(e) { WScript.echo(strScriptPath + "にファイル" + strFileName + "がありませんでした。"); } //オブジェクトの破棄 objFileSys = null; objInFile = null; } ------------------------------------------------ <BODY onLoad="prcTextFileRead();"> <script type="text/javascript"> document.write(document.f.Date.value); </script>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>CSVファイルを読むところはできたのですが、表示できません。 読込が出来ていれば、表示の部分は簡単です。 1列目にリンク先のURL、2列目に表示する文字列なら下記のような感じ。 document.write("<a href='" + words[i][0] + "'>" + words[i][1] + "</a><br>"); あと、BODYタグのonLoadはよりも、BODY内で直接スクリプトを呼ぶ方が簡単です。 ---------------------------------------------------------------------- 念のため補足しますが・・・ ActiveXObjectはIE系のブラウザ限定です、その他のブラウザでは動きません。 それと、一番重要なことですが、サーバにアップしたら、動きません。(^^; パソコン内のHTMLファイルを直接開いた場合は、正常に動くと思いますが、 サーバに上げると、セキュリティの都合で、ファイルにアクセス出来なくなります。 ネットに公開する予定なら、別の手段を考える必要があります。 ---------------------------------------------------------------------- 以下、動作確認したサンプル(WindowsXP IE6) <html> <head> <script type="text/javascript"> function prcTextFileRead() { var objFileSys; var objInFile; var strScriptPath = ".\\"; var strFileName = "test.csv"; var strFilePath; var strRecord; var i = 1; var words = new Array(); objFileSys = new ActiveXObject("Scripting.FileSystemObject"); strFilePath = objFileSys.BuildPath(strScriptPath,strFileName); try { objInFile = objFileSys.OpenTextFile(strFilePath,1); strRecord = objInFile.ReadLine(); do { strRecord = objInFile.ReadLine(); words[i] = strRecord.split(","); document.f.Date.value = words[i][1]; document.write("<a href='" + words[i][0] + "'>" + words[i][1] + "</a><br>"); i++; } while(objInFile.AtEndOfStream==false); objInFile.Close(); } catch(e) { //WScript.echo(strScriptPath + "にファイル" + strFileName + "がありませんでした。"); alert(strScriptPath + "にファイル" + strFileName + "がありませんでした。"); } //オブジェクトの破棄 objFileSys = null; objInFile = null; } </script> </head> <body> <form name="f"> <input name="Date" type="textbox"> </form> <script type="text/javascript"> prcTextFileRead(); </script> </body> </html>
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
クライアントにあるファイルを読み込むのですか ・・・ セキュリティチャックで跳ねられてしまいそうですが こういった御用向きには クライアントからファイルをアップロードしてもらってそのデータを使ってサーバーサイドで処理する方向のように思います
- SAYKA
- ベストアンサー率34% (944/2776)
javascriptで値を次のページに持ち越すには通常はcookieを使わないと無理だよ http://www.tohoho-web.com/wwwcook.htm
お礼
ありがとうございます。 勉強してみます。
お礼
ご丁寧にありがとうございました。やってみます。 ホームページと書いてしまいましたが、ホームページとは言わないのかもしれません。 CD-ROMにデータとHTMLファイルをおいてそのパソコン上で開いて実行したかったのです。