如何使用uploadifive提交动态变量

时间:2013-09-26 00:47:29

标签: javascript jquery uploadify

我正在使用脚本的HTML版本。我正在尝试阅读下拉列表的动态版本并将其与文件一起提交。手册说onUploadStart应该这样做但是在我的情况下它不起作用。看起来我放入测试它的警报没有被触发:

$(function() {
   $('#file_upload').uploadifive({
      'auto': false,
      'formData': {
         'timestamp': '<?php echo $timestamp; ?>',
         'token': '<?php echo md5('unique_salt' . $timestamp); ?>',
      },
      'queueID': 'queue',
      'uploadScript': 'contractor-access-login-new.php?ACTION=UPLOAD',
      'fileObjName': 'file[]',
      'onUploadStart': function(file) {
                 alert("TEST");
                 var folder = $('select[name=category] option:selected').val();
                 var formData = { 'folder': folder };
                 $('#file_upload').uploadifive("settings", "formData", formData);
      }
   });
});

还有其他提交动态变量的方法吗?为什么这种方法不起作用?

3 个答案:

答案 0 :(得分:3)

执行此程序并且不要偏离:

  1. 从jQuery脚本中取消此选项(是的,删除它):

    'formData' : {
        'timestamp' : '<?php echo $timestamp;?>',
        'token' : '<?php echo md5('unique_salt' . $timestamp);?>'
    },
    
  2. 编辑uploadifive.php脚本。添加以下三个陈述:

    $_POST['timestamp'] = time();
    
    $_POST['token'] = md5('unique_salt' . $_POST['timestamp']); 
    
    $additional_form_data = $_POST['additional_form_data'];
    
  3. 返回到您的jQuery脚本,并添加以下选项:

    'onUpload' : function(){
        $('#file_upload').data('uploadifive').settings.formData = { 'additional_form_data' : $('#additional_form_data').val() }
    },
    
  4. 就是这样。

答案 1 :(得分:1)

uploadify_obj.data('uploadifive').settings.uploadScript = ""

答案 2 :(得分:1)

您必须完全将formData移出初始化并在上传时调用函数。请参阅this page

上的帖子