ここで初めての質問は、専門家ではありません。ajaxでローディングバーを見せてもらうのに苦労しました
私は送信ボタンをクリックすると、そのscraper.phpを使用して情報をスクラップするフォームを持っています。
コンテンツがスクラップされることがありますが、ロードするには数秒(10〜)かかることがあります。そのため、スクラップ中に読み込み中のgifディスプレイが必要です。
私はローディングバーでdivを作成し、それをCSSでスタイリングし、noneを表示するように設定しました。ただし、[送信]をクリックしたときに表示されることはありません。
以下はjsコードと、それを動作させるために使用しようとしていた別の「古い」バージョンのコードです。どんな助けも非常に高く評価されるでしょう。
$("#search").submit(function(e) {
$('#wait').show();
var url = "scraper.php";
$.ajax({
type: "POST",
url: url,
data: $("#search").serialize(),
success: function (data) {
render (data);
$('#wait').hide();
}
});
e.preventDefault(); // avoid to execute the actual submit of the form.
、ここでは、私も試してみました、古いコードです:
$("#search").submit(function(e) {
var url = "scraper.php";
$.ajax({
type: "POST",
url: url,
beforeSend: function() { $('#wait').show(); },
complete: function() { $('#wait').hide(); },
data: $("#search").serialize(),
success: function (data) { render (data); }
});
、ここでそれぞれのHTML & CSSコードです:
<div id="wait"></div>
#wait {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba(255, 255, 255, .8)
url('http://i.stack.imgur.com/FhHRx.gif')
50% 50%
no-repeat;
}
ありがとう!
? –
'});'がありません。あなたが持っているのは内側の '({'これは 'ajax'メソッドのもので、' .submit(function)(e){'で開かれたブロックは未閉じのままです。最初に。 –