2010-11-20 73 views
0

我想第一次使用Uploadify。我对文件实际上传没有任何问题。这是完美的。我的问题是我的PHP脚本没有从Uploadify中收到一个$ _REQUEST变量,这显然意味着我无法跟踪任何照片或删除应该删除的照片。下面是我使用的是什么:

$('.upload').uploadify({ 
    'uploader' : 'uploadify/uploadify.swf', 
    'script' : 'upload.php', 
    'cancelImg' : 'uploadify/cancel.png', 
    'folder' : 'img/sections/' + page, 
    'auto'  : true, 
    'multi'  : false, 
    'method' : 'post', 
    'fileExt' : '*.jpg;*.jpeg;*.gif;*.png', 
    'onComplete': function(event, ID, fileObj, response, data) { 
      window.location.replace("upload.php");       
    } 
}); 

我想通过我的点击功能(每个字段显示当前的照片,当你点击它淡出,并设定它发送的输入域ID的PHP脚本显示uploadify表单):

Uploader.clk = function() { 
    pic = $(this).find('input.upload').attr('id'); 
    field = "#" + pic; 
    $(field).uploadifySettings('scriptData' : { 'field' : field }); 
    // all my jQuery animations 
} 

当然,这对我不起作用,但Uploadify文档留下了很多不足之处。我的问题肯定是在uploadifySettings调用中,因为当我将其注释掉时,其他所有东西都可以正常工作。即使我把

“scriptData”:{“富”:“棒”}

在我的设置

我仍然只得到一个会话ID和两个字段名为“UTMA”和“VSID”在我的$ _REQUEST数组。

所以我的问题是如何告诉我的PHP脚本它正在执行操作的字段?这里

回答

0

两个问题,就没有必要选择两次的元素,你可以这样做:

$(this).find("input.upload").uploadifySettings(...); 

而且你需要通过你的设置为一个对象(这只是当前的标签声明),这样:

Uploader.clk = function() { 
    $(this).find('input.upload') 
     .uploadifySettings({'scriptData' : { 'field' : field }}); 
    // all my jQuery animations 
} 

另外请注意,per the documentation你需要使用onSelectOnce反正:

如果通过uploadifySettings()更新scriptData选项,它将不会因与onOpen同步问题而更新。而是使用onSelectOnce函数在自动上传过程中更改scriptData变量。

总体而言,这应该是这样的:

$('.upload').uploadify({ 
    'uploader' : 'uploadify/uploadify.swf', 
    'script' : 'upload.php', 
    'cancelImg' : 'uploadify/cancel.png', 
    'folder' : 'img/sections/' + page, 
    'auto'  : true, 
    'multi'  : false, 
    'method' : 'post', 
    'fileExt' : '*.jpg;*.jpeg;*.gif;*.png', 
    'onComplete': function(event, ID, fileObj, response, data) { 
      window.location.replace("upload.php");       
    }, 
    'onSelectOnce': function(event,data) { 
      $(this).uploadifySettings({'scriptData' : { 'field' : field }}); 
    }   
}); 
+0

哈哈,我真的不知道为什么我做了额外的变量。挫折骨头。这是更有意义的,但现在我的上传甚至没有开始(进度条进来,坐在那里没有%显示)。现在是否正在等待我调用startUpload()方法? – 2010-11-20 01:24:09

+0

@Thomas - 你是否在页面中发现任何JavaScrpt错误? – 2010-11-20 10:11:05