在javascript / jQuery中,在调用文件上传插件之前,先设置了一个变量:

doc_type = "q";


然后,插件被初始化。插件选项中包含:onSelect:,在选择文件时调用。代码如下:

var doc_type = "q";
$(function(){
    var project_num = $("#pnum").val();
    var uploadObj = $("#fileuploader").uploadFile({
        url: "upload_files_processor.php",
        method: "POST",
        onSelect: function(){
            doc_type = "W";
            //Or:
            //doc_type = $('#hidden_input').val();  <-- What I really need to do
            return true;
        },
            allowedTypes:"pdf,doc,docx,xls,xlsx,ppt,pptx,bmp,jpg,png,zip",
        fileName: "myfile",
        formData: {"project_num":project_num,"doc_type":doc_type},
        multiple: true,
        autoSubmit: true,
        showStatusAfterSuccess:false,
        onSuccess:function(files,data,xhr) {
            //Refresh documents table
        },
    });
}); //END document.ready()


问题:

在上载处理器upload_files_processor.php中,收到的doc_type值为:

$doc_type = $_POST["doc_type"];  // q


如何接收值W

参考:heyageek jquery upload file plugin website-单击API & Options选项卡

最佳答案

在您的代码中,而不是formData: {"project_num":project_num,"doc_type":doc_type},
用这个:

dynamicFormData: function()
{
    return {
        project_num: $("#pnum").val(),
        doc_type: $('#hidden_input').val()
    };
},


并删除行var doc_type = "q";var project_num = $("#pnum").val()

关于javascript - 此特定实例中的javascript变量范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23071410/

10-12 12:26
查看更多