データを処理するサーバに小さなテキストファイルを送信するフォームがPHPです。結果はカラーボックスで表示されます。それはうまく動作しますが、データがアップロードされて処理されている間(数秒かかる)小さなメッセージが表示され、結果が表示された後に再び表示されます。しかし、何らかの理由でそのメッセージ(span#ajaxloading)
が表示されません。Ajax beforeSend関数が機能していないようです。
HTML:
<button type="button" id="fixit">Fix it!</button><span id="ajaxloading" style="display:none;">Your data is being processed...</span>
jQueryの:それはもちろん示し、(それが必要のような)カラーボックスがポップアップ表示後に隠しルールません:私は "どれも表示" を削除
jQuery("#fixit").click(function() {
if(form.valid() == true) {
var formData = new FormData(jQuery('#ajastaja')[0]);
jQuery.ajax({
beforeSend: function(){
jQuery('#ajaxloading').show(); // <- Not working!
},
url: '/path/to/my.php',
type: 'POST',
data: formData,
async: false,
success: function (data) {
jQuery('#ajaxloading').hide(); // <- Works here
jQuery('#answerbox').html(data);
},
cache: false,
contentType: false,
processData: false
});
jQuery.colorbox({
inline:true,
href:'#answerbox',
width:'500px',
closeButton:false
});
return false;
}
});
。だから私は間違っているの?前もって感謝します!
編集:私は混乱のために申し訳ありません、コードは実際には、jQuery(document).ready(function(){{}})の間にラップされます; - それは私が持っている問題に影響を与えるべきではないJQuery検証プラグインメソッド、ルールなどの多くを含んでいます。
dode)}に変更)。 –
@ Yaseen dode jqueryに 'セミコロン'は必要ありません。オプションではありません。 –
@ Yaseenコロン ';'は必要ありません。それが圧縮されるまで。 – C2486