我正在开发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);
}
});
在文件上传之前,这将提醒文件字段的值,在文件上传后,执行相同操作将不会显示任何内容。
答案 0 :(得分:1)
尝试定义全局变量并将值$('#'+id).val()
赋给该变量。
像这样:
var someVar = $('#'+id).val();
您可以稍后访问该变量。
答案 1 :(得分: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);
}
});