Uploadify / uploadifive - 提交表单

时间:2017-07-31 11:47:12

标签: javascript jquery jquery-plugins upload uploadify

我正在使用uploadifive插件进行多文件上传。它工作得很好,但现在我发现我的实现中的一个错误是在创建记录后队列没有清除。如果创建了记录,则uploadifive应显示新记录的空队列,但它显示以前上载的旧排队文件。我的逻辑是Ajax和java脚本驱动,我提交表单后不刷新页面(如果页面刷新,那么队列是白色和干净的,这很明显:))。

以下是我用来为我的文件类型输入激活uploadifive的代码:

$('#xyz_uploader').uploadifive({
    'fileTypeDesc' : 'Image Files',
    'fileTypeExts' : '*.png;*.jpg;*.jpeg',
    'fileType'  : ['image/png','image/jpg','image/jpeg'],
    'auto'             : false,
    'checkScript'      : 'uploadify_envc.php?checkexist=true',
    'formData'         : {
        'timestamp' : curDateTime,

        'token'     : 'df324523adg34qtfgiui',
        'doc_type'     : 'docs',
        'somenewval'     : $("select#dropdown_control").val(),
    },
    'buttonText'          : 'Upload Document(s)',
    'queueID'          : 'xyz_uploader_queue',
    'auto'     : true,
    'uploadScript'     : 'uploadify_envc.php?injury='+$("select#dropdown_control").val(),
    'onUploadComplete' : function(file, data) { HandleUploadiFiveDocs(file,data,"docs");    }
});

当我使用JS函数提交数据时,我调用此函数以返回Ajax调用以清除排队的文件:

    $('#xyz_uploader').uploadifive('clearQueue');

但这不起作用。我已经通过浏览器控制台和java脚本函数对它进行了测试,但两者都无法正常工作。

那么你们能告诉我如何使用java-script命令清除uploadifive队列?

2 个答案:

答案 0 :(得分:1)

首先使用

$('#xyz_uploader').uploadifive('destroy') 

然后重新构建对象为我工作。如下:

$('#xyz_uploader').uploadifive({
    'fileTypeDesc' : 'Image Files',
    'fileTypeExts' : '*.png;*.jpg;*.jpeg',
    'fileType'  : ['image/png','image/jpg','image/jpeg'],
    'auto'             : false,
    'checkScript'      : 'uploadify_envc.php?checkexist=true',
    'formData'         : {
        'timestamp' : curDateTime,

        'token'     : 'df324523adg34qtfgiui',
        'doc_type'     : 'docs',
        'somenewval'     : $("select#dropdown_control").val(),
    },
    'buttonText'          : 'Upload Document(s)',
    'queueID'          : 'xyz_uploader_queue',
    'auto'     : true,
    'uploadScript'     : 'uploadify_envc.php?injury='+$("select#dropdown_control").val(),
    'onUploadComplete' : function(file, data) { HandleUploadiFiveDocs(file,data,"docs");    }
});

尝试一下,它也适用于你们。我发现在研究核心功能时。无论如何,没有得到这里的支持是令人失望的。

答案 1 :(得分:1)

在您的' onUploadComplete'中添加以下代码。功能

$(this).uploadifive('cancel', $('.uploadifive-queue-item').data('file'));

$('#xyz_uploader').uploadifive('cancel', $('.uploadifive-queue-item').data('file'));