js(jquery 1.7)では、次のコードを使用します。ボタンをクリックすると、次の2つのアクションが発生するはずです。1。ステータスの表示(htmlの表示)2。関数を実行してPDFを生成する
$( "#create_box" ).on("click", "#make_pdf_btn",function(){
$('.pdf_status0').html('Generating report...' ); // problematic line
make_pdf2();
return false;
});
それから:
function make_pdf2(){
$.ajax({
type: "GET",
url: "make_pdf.php", // pdf is created and saved
async: false, // synchronous ajax
success: function(html){ strReturn = html; }
});
if ( strReturn == 'pdfok' ){
$('.pdf_status0').html('Done!<br>');
$('.pdf_status').show();
} else {
$('.pdf_status').html('Error creating pdf.' );
}
return false;
}
問題は、その行$('。pdf_status0')。html('レポートの生成...');です。Firefoxで正常に実行されており、「レポートの生成...」というテキストがdivに表示され、「完了!」に置き換えられます。ただし、ChromeとIE8には「レポートの生成..」は表示されません。「完了!」のみが表示されます。そしてpdfが作成されます。
jquery htmlの代わりにalert('text')を使用すると、アラートが実行され、アラートがchromeとfirefoxで表示されます。