使用Mootools上传图片

时间:2010-11-27 06:02:09

标签: php upload mootools

我正在用mootools创建一个ajax上传器。当我删除ajax并只是上传表单时,我得到$ _FILES文件数据。但是当我使用ajax版本时,$ _FILES超级全局是空的。表格的每个其他部分都存在。它就好像它根本不发送图像,而只是在ajax版本中。任何帮助表示赞赏。 谢谢!

<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>

2 个答案:

答案 0 :(得分:2)

还有"Form.Upload" Mootools Plugin可以为旧版浏览器自动回退一个很好的HTML5上传 - 它可以很好地完成这项工作,甚至可以通过拖放实现多文件上传。丢弃支持,但遗憾的是缺乏可扩展性 - 我目前正在尝试实现一个允许我添加其他表单元素的功能 - 目前,只提交了文件输入fielts。

就在几分钟前,我发现this simple and lean "File.Upload" Extension - 这终于成功了。它非常易于配置,允许我将其他字段发送到表单数据的接收文件。虽然没有多文件选择,但它似乎非常适合简单的单文件ajax上传,并且可以在文件选择器输入字段的更改事件上触发。

答案 1 :(得分:0)

单独使用Javascript就无法做到这一点。您将需要某种类似SWFUpload的Flash插件。或者使用新的XMLHTTPRequest v2。所有浏览器尚不支持最后一个。所以现在坚持使用第一个选项。