2012-04-03 70 views
1

我正在研究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); 
    } 
}); 

在文件上传之前,这会提醒文件字段的值,在文件上传之后,这样做将不会显示任何内容。

回答

1

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

像这样:

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

以后,您可以访问该变量。

1
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); 


    } 
}); 
+0

感谢您的回复,我的问题是ajax文件上传会很好,文件上传后文件字段的值会被清除。即不能再次提交文件上传(它将变空) – ramesh 2012-04-03 10:26:55