在網上看了不少辦法,如今將網上大部分說法總結以下:ajax
網上說法:spa
緣由:選擇一次後onchange事件沒有綁定到input標籤上;插件
解決辦法:拷貝一份input標籤的副本,每次選擇後對原input標籤進行替換。code
我以爲網上給出的辦法每次都要作回調,太麻煩了。應該還有更簡單的作法。事件
探究input輸入框file類型第二次不觸發onchange事件的根本緣由,能夠知道:(1) 原來是 ajaxFileUpload 插件形成的,它會把原來的file元素替換成新的file元素,因此以前綁定的change事件就失效了。(2)上傳時,當第二次點擊同一個文件,因爲value值沒有發生變化,沒法觸發change/onchange事件。input
因此,問題的關鍵是input 的value 值!!!file
個人作法:總結
只須要在選擇一次後將input標籤的value屬性置爲空便可,即$('#inputId').val('')
,簡單粗暴有效。文件