0

私はjqueryを初めて使用するので、次の方法を理解する必要があります。

ページに送信ボタンがあり、クリックするとjquery関数が実行されます。この関数は、mysqlからいくつかの情報をロードし、その情報を含むテーブルをエコーし​​ます。

私の問題は、これには時間がかかり、その間にユーザーが待っているか、再送信することさえあるということです。

私が欲しいのは、mysqlからデータのフェッチを開始する前に表示され、データがページにエコーされた後に削除されるポップアップ画面を表示することです。

私は何を探しますか?これは何と呼ばれていますか?どうすればそのような考えを実装できますか。

これは私のコードです:

<script type="text/javascript">
$(document).ready(function(){
$('#form-lecturer-login').submit(function(event){
event.preventDefault();
//I need: Display a pop up

//This is working : Code to fetch mysql data and echo a table

//I need: Remove popup
}

これが私の完全なコードです:pastebin.com/JVCfWbLD

4

3 に答える 3

1

使用する

 .blockUI() in jQuery .

これで問題は解決すると思います。

ブロックUI

ブロックを解除するまで画面をブロックします。非常に優れたプラグインです。

于 2013-03-01T04:20:18.387 に答える
1

実際にはAJAXではなくjQuerysubmitを使用しているため、ページはサーバー側のハンドラーがデータを処理するのを待っています。これを試して:

あなたのページのにこれらの2行を入れ<header>てください:

<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js">
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css">

次に、次のようにコードを変更します。

<script type="text/javascript">

       $(document).ready(function(){

           $(function() {
                $( "#dialog-modal" ).dialog({
                    height: 140,
                    modal: true,
                    autoOpen: false
           });

           $('#form-lecturer-login').submit(function(event) {
                event.preventDefault();

                $( "#dialog-modal" ).dialog( "open" );

                    //Your working processing code here.

                $( "#dialog-modal" ).dialog( "close" );
           }

       });

次に、HTMLの本文で:

<div id="#dialog-modal" title="Stand by...">
  <p>Your data is loading, please stand by...</p>
</div>
于 2013-03-01T04:36:55.490 に答える
0

最善の方法は、ユーザーが送信するときに読み込みバーを使用することです。これがデモです

http://bokehman.com/loading

于 2013-03-01T04:28:12.990 に答える