input輸入框file類型第二次不觸發onchange事件的解決辦法,簡單有效


  在網上看了很多辦法,現在將網上大部分說法總結如下:

       網上說法:

         原因:選擇一次后onchange事件沒有綁定到input標簽上;

         解決辦法:拷貝一份input標簽的副本,每次選擇后對原input標簽進行替換。

  

  我覺得網上給出的辦法每次都要做回調,太麻煩了。應該還有更簡單的做法。

 

  探究input輸入框file類型第二次不觸發onchange事件的根本原因,可以知道:(1) 原來是 ajaxFileUpload 插件造成的,它會把原來的file元素替換成新的file元素,所以之前綁定的change事件就失效了。(2)上傳時,當第二次點擊同一個文件,由於value值沒有發生變化,無法觸發change/onchange事件。

 

  所以,問題的關鍵是input 的value 值!!!

 

  我的做法:

    只需要在選擇一次后將input標簽的value屬性置為空即可,即$('#inputId').val(''),簡單粗暴有效。


免責聲明!

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



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