2010-11-28 135 views
0

下面的代码使用AjaxUpload.2.0.min.js将文件上传到服务器AjaxUpload:为什么我必须点击两次?

但是,您需要在操作系统窗口的“添加文件”按钮上点击几次(在哪里选择要上传的文件)来显示,而不是只点击一次。

另外,如果您在链接中单击一次,然后将鼠标移出红色区域,然后单击(从#upload_files中删除),最后单击链接中的链接即可运行,并打开操作系统窗口。但为什么我必须这样做呢? AjaxUpload不会在.livequery调用中初始绑定吗?那么,我该如何限制它呢?

请注意这一点,在操作系统窗口显示与第一次点击鼠标。其余的编程它在我的服务器上工作正常。

将.js上传到github中以使代码易于测试,但实际情况是它们在我的机器中。

非常感谢

<head> 
<style> 
#upload_files{color: #fff; background:#F32201; border:1px solid #7E9DB9; padding:2px;} 
</style> 

<script type="text/javascript" src="https://gist.github.com/raw/6dd585079502f138d87e/7c243080233761859937d52195b670602731a379/jquery-1.4.2.min.js"></script> 

<script type="text/javascript" src="https://gist.github.com/raw/eeb2fe78f63ab80b626d/5be66e749b19fbb5b7c8814bf72a98c083f2aaaf/jquery.livequery.min.js"></script> 

<script type="text/javascript" src="https://gist.github.com/raw/826bff2445c8533dd7fc/797734455959ef27796b6770c95a7b39049ae6e9/AjaxUpload.2.0.min.js"></script> 

<script type="text/javascript"> 
     $(document).ready(function() { 

    function uploadFiles(){ 
     new AjaxUpload('#upload_files', { 
      action: 'whereToUploadInServer.php', 
     });  

    }//end uploadFiles 

      $("#upload_files").livequery("click", function(e){ 
     e.preventDefault(); 
     uploadFiles(); 
     //debugger ; 
    }); 
}); //end document ready 

    </script> 


    </head> 
    <body> 
     <div><a href="#" id="upload_files">Add File</a></div> <br> 

    </body> 

回答

1

据我所知道的,ajaxupload组件根据Github上的文档不完全运行在这个时候。作者建议使用新的qq.FileUploader插件。

下面是一个在单击div元素后立即调出文件对话框的示例。

jsFiddle example

希望它能帮助。

+0

我遇到了登录问题,我是谁开始的帖子:谢谢!!!!!!!!!!!!你保存了我的项目! – user523129 2010-11-29 10:12:27

相关问题