2017-06-14 11 views
1

私は次のコードを持っていますが、問題は#modalLoad が表示され、同じ秒で消えてしまうことです。form.submit()も1分かかります。フォーム送信コールバックで関数を実行する方法

//show the div of loading 
$('#modalLoad').modal('show'); 

// submit 
form.submit(); //One minute of processing 

//hide the div of loading 
$('#modalLoad').modal('hide'); 

私だけform.submit();コールバックした後#modalLoadを隠したい、私はそれを行うことができますか?

EDIT:私はちょうどform.submit();仕上げのexaclyモーメントに$('#modalLoad').modal('hide');をしたい

。 私が使用:待ち+用

setTimeout(function(){ 
    $('#modalLoad').modal('hide'); 
}, 10000); 

から1分を、私はより良い方法があると思います。しなかった?

+1

「のみのコールバックの後に」あなたは* *コールバックを持っていません。 – Santi

+1

あなたのフォームは何に提出されますか?とにかくページをリロードしてしまうでしょう。 – SLaks

+1

あなたはajaxコールをしていますか? – karthick

答えて

0

私はこのjQueryプラグインを使用して、この問題が解決することができます: - まあ、それはまさにここで問題です - http://jqueryfiledownload.apphb.com/

 //show the div of loading 
     $('#modalPDF').modal('show'); 

     //Do the download of file. 
     $.fileDownload($('#form').prop('action'), { 
      httpMethod: "POST", 
      data: $('#form').serialize() 
     }).done(function() { 

      //hide the div of loading after PDF process 
      $('#modalPDF').modal('hide'); 

     }) 
     .fail(function() { 

      alert('error during PDF generation!') 

     }); 
関連する問題