我使用uploadify一个页面,允许用户上载的图像,以及在其上发送这些图像类别字段上。现在,我看到uploadify提供了一个“scriptData”的方法,让我键值对发送过来的uploadify.php脚本。但问题是,scriptData方法在网页加载时(uploadify初始化)抓住了它的价值。因此,当用户是变更值在页面上,scriptData仍仅具有在那里在页加载的缺省值。

反正是有解决这个?

太感谢了!

可能的解决方法:我阅读手册,并进一步发现,可以通过函数调用更改设置。可能在正确的轨道?

$('#fileInput').uploadifySettings('scriptData', getKeyValuePairs()).uploadifyUpload();

现在它的工作..

有帮助吗?

解决方案

您将需要通过uploadify的回调hoock之一来获取用户输入的当前状态:或的OnOpen ONSELECT。看到自己的文档正确的。我猜的OnOpen是更可靠的,因为它会检查上载启动用户每次输入的当前状态。不过,你可能会同时上传正在进行需要禁用其他用户输入,或仍需要用户提交表单,否则最后上传开始后进行任何用户输入将会丢失。

不管怎样,我发现这对他们的论坛,这也是我把一个onOpen回调:

$('#fileInput2').uploadifySettings(
'scriptData', 
{'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
);

一个最后的实施将是(使用演示代码):

<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader'  : 'uploadify.swf',
'script'    : 'uploadify.php',
'cancelImg' : 'cancel.png',
'auto'      : true,
'folder'    : '/uploads',
'onOpen' : function(){
$('#fileInput').uploadifySettings(
    'scriptData', 
    {'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
    );
}
});
});
// ]]></script>

其他提示

除了把代码更新里面的OnOpen的scriptData,你也可以开始上传之前做到这一点。这是可以做到,如果你设置的自动为false,所以你需要手动调用uploadifyUpload()

取在这个线程看看接受的答案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top