• ベストアンサー

JavaScriptでのファイルの読み込み

JavaScriptでXMLで作成した設定ファイルを<input type=file>で読み込み、 HTML上のtextやcheckboxなどに値をセットするということをやりたいのですが、 これをActiceXやサーバからのレスポンスを使わず、JavaScriptのみで行いたいと 考えています。 IE6で動作することが最低条件になります。 XMLの解析は、恐らく探せばなんとかなると思うのですが、 ファイルを<input type=file>でJavaScriptで読み込むことがなかなかできません。 何か方法はあるのでしょうか?

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

  • ベストアンサー
回答No.1

IE6はセキュリティーに甘い時時代に作られてるので、今はセキュリティーホールになるような方法を利用すれば行けるかもしれません。 <input type="file">でファイルパスを取得できたと思います。 それを<iframe>のlocation.hrefにセットしてそのままXMLファイルとして表示する事は出来れば、 <iframe>のinnerHTMLを解析すれば、XMLデータを取得できるかもしれません。

その他の回答 (1)

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.2

ハァ?IE6?! ActiceXやサーバからのレスポンスを使わずJavaScriptのみで?! 耳を疑いますよ あなた相当とんでもないことを言ってますよ 誰が考えたんですかそれ 紙の翼で月まで行きたいと言ってるようなものですよ 無理です ただし運のいいことに世界のgoogleさんがロケットを提供してくれていますよ ChromeFrameです これをインストールすれば任意のページでIE6以降をChrome化できます これ以上のうまい話はありません

関連するQ&A

  • Javascriptでフィールドを埋める方法

    Javascript初心者です。 HTML <input type="text" id="hoge" value="piyo"> <input type="checkbox" onclick="AutoFill();" > <input type="text" id="foo" value=""> Javascriptでcheckboxをクリックすると、fooというidを持つテキストフィールドの値をhogeというidを持つテキストフィールドと同じ値で埋めたいと思います。 bodyの終りに <script> AutoFill(){ document.elementGetById(foo).value=document.elementGetById(hoge).value; } </script> checkboxをクリックしても何も起こらない。どうすればいいんですか。 ご回答をよろしくお願いいたします。

  • ロード時に外部ファイル読込

    お世話になっております。 onload時に外部ファイルのJavaScriptを呼び出したいのですがうまく動作しないので、 ここをお借りしてご質問させていただきます。 長いソースを抜粋しています。 【HTML】 <HTML> <HEAD> <script type="text/javascript" src="java.js"></script> </HEAD> <BODY onload="Check(Document.myFORM)"> <FORM name="myFORM">   <input name="ATEXT" type="text"> </FORM> </BODY> </HTML> 【java.js】 function Check(oj){  oj.ATEXT.disabled = true;  oj.ATEXT.style.backgroundColor = "#999999"; } 実際はテキストボックスがたくさんあり、HTML内に書くと ごちゃごちゃしてしまうため外部ファイルに記述しています。 しかし、動作させてみると「Documentは宣言されていません」というエラーが発生してしまいます; どうかご教授お願いいたします。

  • javascriptでテキストファイルを作成したい

    javascriptを勉強していて演算した結果をテキストファイルにして、その結果をテキストファイル内に書き込んで新しくデスクトップに作成するというプログラムを作りたいと考えています。 ですが、まずは以下の条件を満たすプログラムの内容を教えていただきたいと思います。 私はHTMLと同時にjavascriptを作っているのですがとりあえず、 ・「テキストファイルの作成」というボタンをHTML内に作ります。 ・そのボタンを押すとjavascriptのfunctionが動作し、「テキストの書き込みに成功しました」という内容が書かれたテキストファイルがデスクトップに新たに作成される。 というプログラムを知りたいです。 基礎的な原理だけを知りたいので上の条件を満たすプログラムを教えていただきたいと思います。 テキストファイルをデスクトップに作る方法と、作るテキストファイルにどのようにしてテキスト内容を書き込めばいいのか分かりません。 HTMLの部分がめんどくさければjavascriptの部分だけでも構いません。 よろしくお願いします。

  • データによってチェックボックスを操作

    csvファイルをデータバインドを使ってHTMLに表示するとき、読み出したデータをそのまま表示するのではなく、データによってチェックボックスを操作できるようにしたいのですが、どうやったら出来るのかさっぱり分かりません。 <input name="c1" type="checkbox" value="">有 <input name="c2" type="checkbox" value="">無 <input name="c3" type="checkbox" value="">撤去 となっている時、データが1なら「有」にチェックを、0なら「無」にチェック、-1なら「撤去」にチェックを入れた状態で表示し、且つ値もセットしたいのですが、javascriptだけで可能でしょうか? 可能ならば、どういったスクリプトを書けばいいのでしょうか? ご教授お願い致します。

  • JavaScriptが動きません

    下記のようなJavaScriptを作りましたが、IE8ではボタンを押しても「ようこそJavaScriptへ」が表示されません。 「F12 Web開発者ツール」というのをチョッとイジったのですが、その為ではないかと思います。 どこをどうイジったか覚えてません。 どうすれば動作するようになるでしょうか、教えてください。 動作状況  サーバーに置いてアクセスした場合は、「FireFox」「IE8」とも表示される。  ローカルデスクに置いてアクセスした場合は、「FireFox」では表示される、「IE8」では表示されない。 ☆OSはWindowsXP。 ☆IE8のセキュリティ設定で「アクティブスクリプト」は「有効にする」になってます。 ------JavaScript----------- <HTML> <BODY> <FORM> <P> <INPUT TYPE="submit" VALUE="ここを押すとメッセージが表示されます" ONCLICK="HelloWorld()"> </FORM> </BODY> </HTML> <SCRIPT LANGUAGE="JavaScript"> <!--Hide script from no-JavaScript browsers function HelloWorld() { alert("ようこそJavaScriptへ"); } //--> </SCRIPT>

  • JavaScriptを外部ファイル化したい。

    以下の内容のhtmlファイルを作成しました。 この中から、JavaScriptを外部ファイル化したいのですが、 どの部分をどう切り離せばいいのか、 html側・JS側にはどういう風に記載すればいいのかが分かりません。 どなたかご教示ください。 また、以下のテキストエリアの下に、「コピー」と「クリア」のボタンを付け、 クリックでテキストエリアの内容コピー・選択全クリアができるようにしたいのですが、 その点についても方法をご存知の方がいらっしゃいましたらご教示ください。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title></title> <form action=""> <p>氏名:<input type="text" name="hoge0" value=""></p> <p>  <input type="checkbox" name="hoge1" value="A型">A  <input type="checkbox" name="hoge1" value="B型">B  <input type="checkbox" name="hoge1" value="AB型">AB  <input type="checkbox" name="hoge1" value="O型">O </p> <p>  <input type="radio" name="hoge2" value="男">男  <input type="radio" name="hoge2" value="女">女 </p> <textarea name="hoge4" value="" rows="5" cols="40"></textarea> </form> <script type="text/javascript"> //@cc_on document./*@if (1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/  /*@if (@_jscript) 'focusout' @else@*/ 'blur' /*@end@*/, function (evt) {      var d = '';   d += getValue('hoge0').join('\n') + '\n';   d += getValue('hoge1').join('\n') + '\n';   d += getValue('hoge2').join('\n') + '\n';   d += getValue('hoge3').join('\n') + '\n';   document.getElementsByName('hoge4')[0].value = d.replace(/^\n/gm, '');      function getValue(name) {    var o, c = 0, r = [], objs = document.getElementsByName(name);    while (o = objs[c++]) {     switch(o.type){      case 'text': case 'select-one': case 'textarea': r.push(o.value); break;      case 'checkbox': case 'radio': if(o.checked) r.push(o.value); break;      default:     }    }    return r;   }  }, false); </script>

  • javascript checkbox

    完全に初心者です。。 下記のスクリプトをもとに、 ■チェックAをチェックしたら全てチェックされる ■またチェックAをチェックしたら全て外れる ようにしたいです。。 でも何がダメか分かりません。。 一部を書くのではなく出来ればスクリプト全ていただけたらと思います。 あともし宜しければチェックAをチェックしたら、1~6をチェックできないようにもしたいです。。 ご教授よろしくお願いします。。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE></TITLE> <SCRIPT language="JavaScript"> function check(){ for(i=1; i<7; i++){ document.form1.elements[ch[i]].checked = true; } } </SCRIPT> </HEAD> <BODY> 全てのチェックボックスをチェック/解除 <FORM name="form1"> <p><INPUT type="checkbox" id="ch" onclick="check()">チェックA</p>   <INPUT type="checkbox" id="ch1">チェック1   <INPUT type="checkbox" id="ch2">チェック2   <INPUT type="checkbox" id="ch3">チェック3<BR><BR>   <INPUT type="checkbox" id="ch4">チェック4   <INPUT type="checkbox" id="ch5">チェック5   <INPUT type="checkbox" id="ch6">チェック6<BR><BR>   <BR> </FORM> </BODY> </HTML>

  • XSLT javascript Firefox

    こんにちは。 XMLの所の質問じゃないかもしれませんが・・・。 javascriptを使ってXSLTを切り替えて 表示するものをXMLファイルから選ぶ、 というプログラムなんですが、IEでは動作するのですがFirefoxでは動作しません。 どなたかご存知ですか?

    • ベストアンサー
    • XML
  • javascriptで取得した値をテキストボックスに・・・

    IE5.5です。 javascriptで取得した値をテキストボックスに格納したいのですが、 うまくいきません。 <SCRIPT language="javascript"> var varVal=true </script> <form> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </form> javascriptが初心者でよくわからないのですが、 例えば <input type="hidden" name="myVal" value=varValに格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。

  • javascript 要素取得

    htmlでチェックボックスを作り、その値をjavascriptで取得したいと思い、 下記のようなプログラムを書きました。 セレクトボックスから複数選択できるようにしたいのですが、 表示されるのは複数選んだ際に一番初めに選択したものだけです。  例) 「あああ」と「いいい」を選ぶと「あああ」のみ表示される。 しかし、これを「あああ.いいい」としたいのです。 できれば、 「あああ  いいい」 と改行できるといいです。 formの中にたくさんの項目があるため、 forのところがうまくいっていないのでしょうか? どなたかよろしくお願いします。 javascript側 function checkbox(){  var str="";  for(i=0;i<document.form1.elements.length;i++){   if(document.form1.elements[i].checked){     if(str != "") str = str + ".";     str = str + document.form1.document[i].value;   }  }  if(str == ""){   alert("入力してください");   return false;  }else{   document.form1.submit();  } } HTML側 <form action="<%=遷移先ページ%>" method="post" name="form1"> <select 複数> <input 複数> <input type="checkbox" name="document" value="・あああ"/>あああ <input type="checkbox" name="document" value="・いいい"/>いいい <input type="checkbox" name="document" value="・ううう"/>ううう <input type="submit" value="Submit" onclick="return checkbox();">

専門家に質問してみよう