2015-02-06 49 views
0
.on('complete', function(id, name, response) { 
    console.log(id); 
    console.log(response); 
    console.log(name); 
    $("input").attr({ 
     type: 'hidden', 
     name: id 
    }).val(name).appendTo('form'); 
}) 
.on('deleteComplete', function(id, xhr, isError) { 
    console.log(name); 
    $('input[name=' + id + ']').remove(); 
}); 

我使用的是最新的FineUploader上传图片,并添加图像文件名作为隐藏字段(正确的方法)来post他们的位置到PHP做进一步处理。FineUploader onDelete和的onComplete

问题是id是两个回调之间的共同点,但它返回一个对象,我确定如何处理它。我只需要将文件名位置存储/发布到PHP。

回答

1

回调参数不正确。如果您使用Fine Uploader的jQuery插件包装器,则每个事件处理器的初始参数始终为Event。也就是说,与正在处理的事件关联的jQuery事件对象。

只是要清楚,你的代码应该是这样的:

.on('complete', function(event, id, name, response) { 
    ... 
}) 
.on('deleteComplete', function(event, id, xhr, isError) { 
    ... 
}); 

这是很多原因,我已经建议用户避免使用一个jQuery插件包装。它使得Fine Uploader回调更容易混淆,并且绝对没有任何好处。鉴于此,如果由于某种原因仍然想使用jQuery插件包装器,则应该考虑将回调处理程序声明为在构建精细上传器实例时作为初始配置选项一部分传递的callback选项的一部分。

+0

谢谢,这有帮助。现在我只需要计算如何删除在'onComplete'中创建的'ondeleteComplete'中的隐藏字段 – 3zzy 2015-02-06 16:30:28

+0

为什么要创建隐藏字段并再次提交表单? Fine Uploader发送上传POST请求中每个文件的文件名。 – 2015-02-06 16:31:01

+0

哦?但我看不到任何'echo'

'.print_r($_POST,1).'
';' – 3zzy 2015-02-06 16:37:49