2017-08-21 11 views
0

現在、AJAXの複数のアップロードで問題が発生しています。複数のアップロードを防止するAjax PHP

私が試した:私の機能では

e.preventDefault(); 
e.stopImmediatePropagation(); 

を、それはとにかく複製し続けます。基本的には送信ボタンを迷惑メールにすることができ、複数のアップロードが行われます。 提案がありますか?

$(document).ready(function() { 

/* Data Insert Starts Here */ 
$(document).on('submit', '#SavePost', function (e) { 
e.preventDefault(); 
e.stopImmediatePropagation(); 
    /* Image upload Ajax */ 
    $.ajax({ 
     url: "create.php", 
     type: "POST", 
     data: new FormData(this), 
     contentType: false, 
     cache: false, 
     processData: false, 
     beforeSend: function() { 

      $("#err").fadeOut(); 
     }, 
     success: function (data) { 
      if (data == 'invalid file') { 
       // invalid file format. 
       $("#err").html("Invalid File !").fadeIn(); 
      } else { 
       $("#dis").fadeOut(); 
      $("#dis").fadeIn('slow', function() { 
       $("#dis").html('<div class="alert alert-info">' + data + '</div>'); 
       // view uploaded file. 
       $("#preview").html(data).fadeIn(); 
       $("#SavePost")[0].reset(); 
       $("body").fadeOut('slow', function() { 
        $("body").fadeOut('slow'); 
        window.location.href = "memberpage.php"; 
       }); 
      }); 
      } 
     }, 
     error: function (e) { 
      $("#err").html(e).fadeIn(); 
     } 
    }); 
    /* Image upload Ajax ENDING */ 
    return false; 
}); 
/* Data Insert Ends Here */ 
+0

'.on'の代わりに' .one'を使ってみてください。 – Miro

+1

昨夜からずっとそれがあって、それは私に多くの時間を節約しました。それを掲示すれば、私はそれを解決済みとしてマークします。ありがとう!!! – Kejsaren

答えて

0

代わり.on

の使用.oneをそれは一度だけ発動するようになります。

複数回提出したい場合は、thisを参照してください。

関連する問題