關於input的file框onchange事件觸發一次失效的新的解決方法


在google了眾多方法后,網上有這么幾種方法:

1、替換掉原來的input框

2、remove原來的input框,然后在添加進新的一樣的input框

但是不知道為什么非常不幸的是,怎么弄我都弄不出。。

后來我腦袋突然閃過一個靈感,我在觸發了一次onchange事件后,他沒反應,是不是onchange事件沒有綁定,后來發現我的推測是正確的,然后我就重新給他綁定了一個onchange事件,測試通過!!!

問題解決!!

 1 $("#targetFile").change(function(){  
 2             var filename = $(this).val();  
 3             $("#originalTargetFileName").val(filename);  
 4         });  
 5           
 6         $("#targetUpload").submit(function(){  
 7             $.ajaxFileUpload({  
 8                 type: "post",  
 9                 url: "${pageContext.request.contextPath}/upload.do",  
10                 secureuri:false,  
11                 fileElementId:"targetFile",  
12                 dataType: "json",  
13                 success: function(result,status) {  
14                     if (result.success == "1") {  
15                         alert("上傳文件成功!");  
16                         var filename=getFileNameFromFilePath(result.fileRelativePath);  
17                         $("#target_upload_info").html("<div>"+"文件:"+filename+"   <a href='javascript:void(0)' onclick='deletefile("+"\""+result.fileRelativePath+"\",\"target\")'>刪除</a>"+"<br/></div>");  
18                         $("#target_upload_info").css("visibility", "visible");  
19                         $("#targetFileRelativePath").val(result.fileRelativePath);  
20                     } else {  
21                         $("#target_upload_info").html("文件上傳失敗: " + result.msg);  
22                         $("#target_upload_info").css({"visibility":"visible", "color":"red"});  
23                     }  
24                 },  
25                 complete: function(xmlHttpRequest) {  
26                     $("#targetFile").replaceWith('<input type="file" id="targetFile" name="upFile" style="display:none;"/>');  
27                     $("#targetFile").on("change", function(){  
28                         var filename = $(this).val();  
29                         $("#originalTargetFileName").val(filename);  
30                     });  
31                 },  
32                 error: function(data, status, e) {  
33                     alert("文件上傳失敗!");  
34                 }  
35             });  
36             return false;  
37         });  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM