圖片上傳時(shí)input file change事件多次觸發(fā)解決

file input出于安全角度,是不允許賦值的,即使是置空,雖然通過(guò)給outerHtml賦值可以清空,但貌似僅在ie下起使用。

因?yàn)槿鄙僦每盏姆椒?,用戶異步上傳完畢文件后選擇相同文件時(shí),不會(huì)觸發(fā)change,因?yàn)樵谶@種情況下,我們沒(méi)有辦法使value(也就是文件路徑)發(fā)生變化。

那難道就無(wú)解了么。。當(dāng)然不是。。

我的解決方法是,每次選完文件,就重建此元素,這樣值自然是空的,因?yàn)閏lone不帶值,這樣就是一個(gè)全新的file input,每一次選擇,自然各種正常。使用unbind().以下是關(guān)鍵代碼:

<script type="text/javascript">
   function upload(){
  $("#imgFile").click();
  $("#imgFile").unbind().change(function(){
  $("#fileForm").submit();
  })
   }
</script>
 <form id="fileForm" action="${basePath}/emp/imgupload" method="post" enctype="multipart/form-data">  

        <input name="imgFile" id="imgFile" type="file" accept="image/*" style="display: none"/>  
        <input type="button" value="圖片上傳" οnclick="upload()">  
  </form>  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容