2010-11-28 128 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

相關問題