2017-09-05 6 views
0

PHPExcelを使用してスプレッドシートを作成するためのシンプルなHTMLフォームがあります。フォーム送信ボタンをクリックすると、PHPExcelでスプレッドシートを作成して終了する(exit;)PHPページが呼び出されます。したがって、ユーザーには、ページは決して変更されず、Excelワークブックのポップアップが表示されます。ページ変更なしでPHPスクリプトに送信するフォームのPHP待機カーソル

私は、送信ボタンがクリックされたときにカーソルを砂時計に変更し、PHPスクリプトが終了する前に通常のカーソルに戻す方法を理解しようとしていました。

私はいくつかの方法を試しましたが、私は追加や削除のために試したことはありません。 PHPファイルをフォームのサブミット(ページを変更せずに)で呼び出すことで、カーソルを正常に動作させる方法が正常に動作しない(私が思う)ことがあります。

フォームの送信時に待機カーソルを設定し、PHPスクリプトが終了したときに通常のカーソルを戻す作業方法を知っている人はいますか?

私はjQueryを使用しており、カーソルを変更する通常のjQueryメソッドを試しています。助けてくれてありがとう。 (それが可能でないクライアントのファイルシステムにアクセスする必要が原因)

<form action="export_updates.php" method="post" name="form1">     
    <input type = "image" src = "../../images/excel_icon.png" name = "submit" value = "submit" id="make_spreadhseet_1"/> 
</form> 
+1

フォームを送信すると、元のページのページがリロードされ、スクリプトが実行されなくなります。 – Barmar

+0

体のカーソルを設定するために、おそらくonclickイベントでjavascriptを使用しますか? 'onclick =" document.body.style.cursor = 'wait' " – GrumpyCrouton

+3

jQueryコードはどこにありますか? – Barmar

答えて

1

は、だからあなたのスクリプトは、基本的にexport_updates.phpに提出する上でExcelをダウンロードし、一人ではJavaScriptがダウンロードの開始を検出することができない、あなたが行うことができ、すべての待ち時間を表示することですウィンドウがアンロードされる直前のカーソル、数秒後にデフォルトカーソルに戻ります。

window.addEventListener("beforeunload", function (event) { 
    document.body.style.cursor = 'wait'; 
    setTimeout(function(){document.body.style.cursor = 'default';},3000); 
}); 
+0

完全に動作します。ありがとうございました! – Reno

+0

ようこそハッピーコーディング –

関連する問題