2011-02-25 105 views
0

有人在fancybox裏成功使用uploadify嗎?如果我在普通頁面上創建表單設置,uploadify可以很好地工作,但是如果我使用完全相同的代碼並將其放入fancybox中,則不會。 uploadfield更改爲uploadify,但在我的按鈕上調用uploadifyUpload時,uploadify的js會給出錯誤。任何經驗或想法?fancybox裏面uploadify - 不能正常工作

+0

是對uploadify父頁面(其中鏈接)上(初始化和期權)或代碼通過fancybox加載的HTML頁面? –

+0

只有一個頁面,並且uploadfield在轉換爲fancybox的div內 - uploadify的init,fancybox看起來就像這樣; '$(document).ready(function(){$('#file_upload')。uploadify(); $('#mydiv')。fancybox();});'。該代碼在嘗試執行上傳功能時給出錯誤,例如'$('#file_upload')。uploadifySettings();''或$('#file_upload')。uploadifyUpload();' – keysersoze

+0

你能發表一些代碼嗎?我能夠在fancybox內獲得uploadify工作。 – Prabhu

回答

0

對不起,我遲到的迴應,沒有通知你的評論 - 現在代碼改爲使用另一個jQuery上傳腳本,一個來自lagoscript.org,我也修改了一下以更好地滿足我的需求。這樣我也避免使用Flash,這可能成爲我正在開發的項目中的一個問題。

1

我知道這是真的老了,但似乎沒有成爲一個很好的答案無論我做了搜索之後,所以我想添加一個這裏:

該解決方案每次初始化uploadify的的fancybox通過在onStart()處理程序中執行它來打開窗口。

如果它已經被初始化,你必須添加代碼來重置uploadify(例如,fancybox已經被打開過)。您可以通過在onStart()處理程序中添加代碼和初始化uploadify之前做到這一點,與此類似:

$('#ID_FOR_FANCYBOX').fancybox({ 
    // other fancybox settings... 
    'onStart': function() { 

    // check if it has already been initialized 
    if ($('#file_queue').hasClass("uploadifyQueue")) 
    { 
     // remove uploadify 
     $('#file_queue').removeClass('uploadifyQueue'); 
     $("#file_upload").unbind("uploadifySelect"); 
     swfobject.removeSWF('file_uploadUploader'); 

     // reset the html so we can initialize uploadify again 
     $('#modal_upload .footer').html('<p><input type="file" id="file_upload" name="file_upload" /> or <a href="#" onclick="$.fancybox.close();return false;">cancel</a></p>'); 
    } 

    // init uploadify here... 

}); 
+0

很好 - 謝謝,下次我需要類似的東西時,我會進行試驗。我最終使用了使用iframe上傳的上傳解決方案。 – keysersoze