<input type="file" class="editor-upload-video" accept="video/*">
$('.editor-upload-video').change(function() {
console.log('uploading');
$.ajax({
type: "POST",
url: "/admin/controllers/update-admin?type=editor-video",
data: data,
cache: false,
contentType: false,
processData: false,
success: function(data){
console.log('uploaded');
}
第一次有回傳成功
但是第二次按,即便有出現要你選檔案,選完後連 uploading 都沒有顯示,就沒有反應了。。。。怎麼會這樣呢?
選擇同一個檔案沒反應的話
一個方法是改成另外做一顆按鈕按了才上傳
一個是上傳完成後清空檔案
$('.editor-upload-video').change(function () {
console.log('uploading');
$.ajax({
type: "POST",
url: "/admin/controllers/update-admin?type=editor-video",
data: data,
cache: false,
contentType: false,
processData: false,
success: function (data) {
console.log('uploaded');
$('.editor-upload-video').val('');
}
});
});
先使用f12大法。檢查第一次運行後,是否有錯誤發生。
一般會出現你說的情況,大約只有以下情況
1.如小魚說的,可能class被修改或是元件被重建了。事件需要重綁才會有動作。
2.程式發生錯誤,造成後續的js停止不運做。
3.無法觸發change事件。如Homura說的,你選了同一支檔案。這樣並不會觸發change事件。
大約就如上的情況了。你再自行檢查看看。