Javascript 实时文件上传

Javascript 实时文件上传,javascript,ajax,jquery,file-upload,Javascript,Ajax,Jquery,File Upload,我正在进行jQuery实时文件上传 我的应用程序中有一个带有文件字段的表单。当用户选择一个文件时,我需要使用AJAX文件上传方法上传它。然后,当用户在“提交”上提交时,将进行真正的文件上传 使用下面的代码,我的AJAX文件上传进行得非常顺利。但问题是,上传文件后,文件字段的值将被清除 var url = $('#site').val() url = url + "/ajax/addTmpImg"; var id = 'my_file'; alert($('#' + id).val()); /

我正在进行jQuery实时文件上传

我的应用程序中有一个带有文件字段的表单。当用户选择一个文件时,我需要使用AJAX文件上传方法上传它。然后,当用户在“提交”上提交时,将进行真正的文件上传

使用下面的代码,我的AJAX文件上传进行得非常顺利。但问题是,上传文件后,文件字段的值将被清除

var url = $('#site').val()
url = url + "/ajax/addTmpImg";

var id = 'my_file';

alert($('#' + id).val()); // THIS WILL SHOW FILE FIELD VALUE

$.ajaxFileUpload({
    url: url,
    secureuri: false,
    fileElementId: id,
    dataType: 'json',
    data: {
        'type': file_name,
        'name': file_name
    },
    success: function (data, status) {
        alert($('#' + id).val()); // THIS WILL RETURN EMPTY
    },
    error: function (data, status, e) {
        alert(status);
    }
});

在文件上载之前,这将提醒文件字段的值,而在文件上载之后,执行相同操作将不会显示任何内容。

尝试定义一个全局变量,并将值
$('#'+id).val()
分配给该变量

像这样:

var someVar = $('#'+id).val();

您可以稍后访问该变量。

谢谢您的回复,我的问题是ajax文件上传会很好,文件上传后文件字段的值会被清除。即,无法再次提交文件进行上载(文件将变为空)
var url = $('#site').val();
url = url + "/ajax/addTmpImg";

var id = 'my_file';
var val = $('#' + id).val();

alert(val); // THIS WILL SHOW FILE FIELD VALUE

$.ajaxFileUpload({
    url: url,
    secureuri: false,
    fileElementId: id,
    dataType: 'json',
    data: {

        'type': file_name,
        'name': file_name
    },
    success: function (data, status) {


        alert(val); // THIS WILL SHOW FILE FIELD VALUE
    },
    error: function (data, status, e) {
        alert(status);


    }
});