2017-01-09 10 views
0

私はJQuery File Uploadを使用しています。ファイルを追加してアップロードするたびに、過去に追加されたものを再びアップロードします。これは、私が新しいファイルを追加する必要があるたびに呼び出す関数です。アップロードが成功した後にファイルキューを空にする方法はありますか?jQueryファイルアップロード:クリーンファイルキュー

$(this).fileupload({ 
     // This function is called when a file is added to the queue; 
     // either via the browse button, or via drag/drop: 
     replaceFileInput: false, 
     autoUpload: false, 
     add: function (e, data) { 

      // Automatically upload the file once it is added to the queue 
      submitBtn.click(function() 
      { 
       beforeSubmit(function(token, card_side){ input_token.val(token); input_card_side.val(card_side);}); 
       var jqXHR = data.submit();    
      }); 
     }, 
     done: function(e, data) 
     { 
      try 
      { 
       var result = typeof data.result == 'string' ? data.result : data.result[0].body.innerHTML; 
       $("#fileInputId").replaceWith($("#fileInputId").val('').clone(true)); 
       callBack(JSON.parse(result)); 
      } 
      catch(e) 
      { 
       callBack({"result" : "false", "reason" : "Error: " + data.result}); 
      } 
     }, 
     fail: function(e, data){ 
      // Something has gone wrong! 
      callBack({"result" : "false", "reason" : "server internal error"}); 
      data.context.addClass('error'); 
     } 

    }); 

答えて

1

あなたはfile/filesをクリアするために、あなたのdoneメソッドの内部で、この1つのライナーを使用することができます。

$("#fileInputId").replaceWith($("#fileInputId").val('').clone(true)); 
+0

私はちょうどそれを試してみました(上記の更新されたコードを参照)が、それは何の効果もありませんでした。毎回、すべてのファイルがアップロードされています。 – Arturo

+0

申し訳ありませんが、#fileinputidを入力IDまたは$(これ)に置き換える必要があります。 – Yaser

関連する問題