2011-12-10 14 views
0

iframeを使用すると、ウェブページのユーザーがページ全体を再読み込みせずにファイルをアップロードする方法を教えてください。私は多くのjQueryプラグインを見つけましたが、この作業には大きすぎます。ユーザーは、他の入力を入力せずに1つのファイルをアップロードするだけで済みます。PHP iframe one file upload

+0

これは読んでいますか? http://stackoverflow.com/questions/3660616/how-can-i-do-file-upload-using-hidden-iframe-jquery – marcocamejo

答えて

0

iframeは、ページ内に読み込まれるHTMLページ全体です。あなたがする必要があるのは、ユーザーがファイルを選択し、アップロードボタン(アップロードと言う送信ボタン)を持つか、または "onchange"イベントでjavascriptを使用してファイルを自動的にアップロードするフォームを持つHTMLページを作成することだけです。そして、iframeの中にすべてロードしてください。

iframeの親ウィンドウでファイル名を使用できるようにする必要がある場合は、ファイルをアップロードするときにjavascriptで親ウィンドウにファイル名を渡す必要があります。

ここでは、私が使用したいくつかのコードのトリミングダウンバージョンです。それを通常のhtmlページの中に置き、そのページをiframeにロードします。

フォーム:

<form action="thispagename.html" method="post" enctype="multipart/form-data"> 
    <input type="file" id="userfile" name="userfile" value="" onchange="SendToParent(this, 'fieldinparent')" /><br/> 
    <button type="submit" id="uploadfile" name="uploadfile">Upload File</button> 
</form> 

Javascriptを:

function SendToParent(origin, destination) 
{ 
    parent.document.getElementById(destination).value = origin.value; 
} 

基本的にについてのすべてのあなたはそれが自動的に提出する必要がある場合は、あなたが「のonchange」イベントに追加機能を追加することができますがあること自動送信を処理します。

0

ajaxを使用できます。 Jqueryやその他のライブラリとプラグインを使用すると、これは非常に簡単になります