Uploadifive动态发布输入变量
下面的问题是当启动函数时, MyInputVariable
当然是空的。
$(function () { $('#file_upload').uploadifive({ 'auto': false, 'dnd': true, 'checkScript': 'check-exists.php', 'formData': { 'timestamp': '', 'token': '', 'MyNumber': $('#MyInputVariable').val(), }, 'queueID': 'queue', 'uploadScript': 'upload.php', 'onUploadComplete': function(file, data) {console.log(data);} }); });
必须有一种方法来启动onUpload
, onUploadComplete
, onUploadFile
或更新formData
东西,但我不知道如何做到这一点。
请注意,这是uploadiFIVE,而不是uploadify。 function/方法差异很大,解决方案可能不适用于两者。
在uplodifive论坛上经过数小时的误导性解决方案实验后,这就是解决方案。
在您的HTML锚标记中:
Upload Files
将锚标记更改为:
Upload Files
从初始函数调用中完全消除formData设置,使其看起来像这样:
$(function() { $('#file_upload').uploadifive( { 'auto' : false, 'dnd' : true, 'checkScript' : 'check-exists.php', 'queueID' : 'queue', 'uploadScript' : 'upload.php', 'onUploadComplete' : function(file, data) {console.log(data);} }); });
比添加这个function:
function uploadFiles() { $('#file_upload').data('uploadifive').settings.formData = { 'timestamp' : '', 'token' : '', 'MyNumber' : $('#MyInputVariable').val() }, $('#file_upload').uploadifive('upload'); }
无论你需要添加什么其他变量。 您的输入变量现在将在上传时发布。
我认为这是最好的回答
如何使用uploadifive提交动态变量
替换这个:
'formData': { 'timestamp': '', 'token': '', 'MyNumber': $('#MyInputVariable').val(), },
这样:
'onUpload' : function(){ $('#file_upload').data('uploadifive').settings.formData = { 'timestamp': '', 'token': '', 'MyNumber': $('#MyInputVariable').val(), }},
这是完整的代码:
$(function () { $('#file_upload').uploadifive({ 'auto': false, 'dnd': true, 'checkScript': 'check-exists.php', 'onUpload' : function(){ $('#file_upload').data('uploadifive').settings.formData = { 'timestamp': '', 'token': '', 'MyNumber': $('#MyInputVariable').val(), }}, 'queueID': 'queue', 'uploadScript': 'upload.php', 'onUploadComplete': function(file, data) {console.log(data);} }); });