2012-03-31 27 views
0

まず、私がこれを行う方法が可能かどうかを知りません。ボタンを押してiframe 'src'を更新する(フォームの 'ファイル'ボタン)

主題が指摘するように、何イムが達成しようとすると、そのボタンを押し、私はiframe内に読み込まれ表示されたい内容に、ある....まず

、私がやったことはこれです: IFRAMEのHTMLはこれです:

<iframe id="my-frame" src=""></iframe> 

とシンプルなフォームのコードはこれです:どのshoul

<form action="#" method="post" target="my-frame"> 
<input type="file" name="localFile" id="localFile"> 
<input type="submit" id="Sbtn" name="Sbtn" value="submit"> 
</form> 

私はボタン を押したときにD「私のフレーム」と呼ばれる私は目標のiframe内で選択したものを負荷ではなく、それは、現在開いているページをロードし、私はあなたが見ていること、それらのファンハウスミラー効果の一つ、などで終わります同じ超えると何度も繰り返し自体の内部の事.......や負荷のまったく何も、iframeのセクションは白のまま....

だから私はあきらめたとJSのビットを試してみましたが、もう一度、ありませんこれがそれについて行く方法であるかどうか確かめなさい...まあ私は何かを試してみなければならない。だから私は「ターゲット=」私のフレームを取り出し、言った、「それの一部を形成するから、これに入れて。

var myFrame = document.getElementById("my-frame"); 
var btn2 = document.getElementById("Sbtn"); 
var field2 = document.getElementById("localFile"); 

btn2.onclick = function(){ 
     if(field2.value ==""){ 
      //enter error message or something. 
     } else { 
      myFrame.src = field2.value; 
      return false; 

     } 
} 

私はこれを行うときに、私のようなエラーを取得」ページが見つかりません"等...ページを見つけることカント私は何をするかは問題ではありませ

私が手に正確なエラーがこれである:。

Error 6 (net::ERR_FILE_NOT_FOUND): The file or directory could not be found. 

がどの私はイムは、それが何であれ(ファイルにナビゲートするので、理解しないために)まで来ウィザード経由。

今、さらにトラブルシューティングのため、私は定期的にリンクを行うときに...例えば(擬似コード)

<a href =" path to local file here " target="the iframe id"></a> 

それだけで罰金にそれをロードする...

失われそうイム。欠落している間違っているか...何かイムをやって何イムのよう

任意のアイデア?

任意のヒント、リンク、一種の病気喜んと謙虚に受け入れるいずれかの任意の助け。ありがとうございました。

Somdow http://somdowprod.net/

答えて

2

に私は理解しているように、何をしたいことは次のとおりです。

  • は、入力タイプを持つファイルを選択してください=ファイル
  • クリックして、選択したファイルが内側に表示されます
  • を提出しますiframe(期待どおり)

AFAIK IEでのみ行われます。 Chrome & FFのセキュリティ設定の理由が異なる(高い)。あなたは実際にIE、Chrome & Firefoxの何が起こるかを知るための警告コマンドを試すことができます。少しだけ、このようなあなたのコードを変更:

... 
} else { 
    alert(field2.value); ///--- add this line 
    myFrame.src = field2.value; 
    return false; 
} 
... 

は、ファイルを選択してrepectively送信ボタンをクリックすると、それぞれに対して結果を参照&すべての3つの主要なブラウザ(IE、クローム、FF)を使用してファイルを開きます。


私がテストしたとして、IEのための結果はファイルへのハードディスク上の完全なパスだった:クロムfakepathとパスを交換しながら

C:\Documents and Settings\DUNGPRO\My Documents\A WALLPAPER\abc.jpg 

C:\fakepath\abc.jpg 

そして、 firefoxはあなたにファイル名だけを与えます:

abc.jpg 

はい、偽のパスまたはファイル名だけが表示されます。404-File not found。 IEのみがあなたに予想されるパスを与えます&その理由はあなたのコードがIEで正しく動作するからです。

Chromeの& FFのこれらの設定はデフォルトであり、コードを変更することは不可能ですが、これはあまりにも悪いとは思わないと思っていますか?ちょうど彼らがユーザーのセキュリティのためだと思う&別のアプローチを見つける。がんばろう。

+0

ダーン!笑。ご迷惑をおかけしまして、有益なお返事ありがとうございます。あなたが知っている、これを行うための他の同様の方法はありますか? – somdow

+0

AFAIKは、ユーザーのローカルファイルシステムを使用しても十分サポートされていません。ブラウザの開発者はすぐにウェブマスターがユーザーのローカルファイルを使用するためのプロトコルをリリースすると思います。しかし、その日までは、ユーザーのファイルをアップロードし、アップロードされたバージョンを使用することをお勧めします。 –

関連する問題