2012-04-03 33 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