2010-11-27 12 views
1

mootoolsでajax uploaderを作成しています。私がAjaxを削除してフォームをアップロードすると、ファイルデータがある$ _FILESが得られます。しかし、私がajaxバージョンを使用すると、$ _FILESスーパーグローバルは空です。フォームの他の部分はすべて存在します。あたかもajax版だけでイメージを送信しないかのように動作します。どんな助けもありがとうございます。 ありがとう!Image Mootoolsでアップロードする

<form id="uploadphoto_pod" action="upload.php" enctype="multipart/form-data" method="post"> 
<input type='file' id='uploadphoto' name='uploadphoto'/> 
<input type="submit" class="submit" name="add_product" value="Upload" /> 
    </form> 
    <div id="response"><!-- Ajax Response --></div> 
<script type="text/javascript"> 
window.addEvent('domready', function(){ 
$('uploadphoto').addEvent('submit', function(e) { 
    //Prevents the default submit event from loading a new page. 
    e.stop(); 
    //("this" refers to the $('uploadphoto') element). 
    this.set('send', {onComplete: function(response) { 
     $('response').set('html', response); 
    }}); 
    //Send the form. 
    this.send(); 
}); 
}); 
    </script> 

答えて

0

Javascriptだけではできません。 SWFUploadのようなフラッシュプラグインが必要です。新しいXMLHTTPRequest v2を使用してください。最後のブラウザはまだすべてのブラウザでサポートされていません。だから今のところ最初の選択肢に固執する。

+0

ご回答ありがとうございました – abhis

+0

実際にhtml5をサポートしているブラウザでjsだけで実行できます。 iframe shim(google for AIM shim)を使用するか、haraldのファンシーアップローダー(.swf経由)を使用することもできますhttp://digitarald.de/project/fancyupload/ thierry belaのhttp://mootools.net/をチェックしてくださいforge/p/uploadmanager、html5やシムトリックをフォールバックとして使用しています(プログレッシブエンハンスメント) –

2

も、古いブラウザの自動フォールバックと素敵なHTML5のアップロードを行い"Form.Upload" Mootools Pluginあります - それはうまくトリックを行い、でもドラッグ&ドロップをサポートしたマルチファイルアップロードを実装していますが、悲しいことに拡張性に少し欠けている - 私は現在よ追加のフォーム要素を追加できる機能を実装しようとしています。現在、ファイル入力フィールドのみが送信されています。

ちょうど数分前に、私はthis simple and lean "File.Upload" Extensionを発見しました - これがやっとトリックでした。設定が非常に簡単で、フォームデータの受信ファイルに追加フィールドを送信することができます。しかし、複数のファイルを選択することはできませんが、単純なone-file ajaxのアップロードには完璧と思われ、ファイルセレクタの入力フィールドのchangeイベントなどでトリガすることができます。

関連する問題