2

struts2.ユーザーが送信ボタンをクリックするフォームを使用してWebアプリケーションを構築しており、フォームを処理して同じjspページにリダイレクトしています。リクエストが処理されていることをユーザーが理解できるように、読み込み中の画像を追加したいと思います。フォームタグの末尾の後にスクリプトを記述し、フォーム内に画像を追加することで自分のやり方を試しましたが、フォームの送信時に正しく取得できませんでした。私は jQuery を使用して$.load()いないので、役に立ちません。誰でもこれで私を助けてください。

前もって感謝します

<script type="text/javascript">
    (function(d) {
        alert("in");
        d.getElementById('loginform').onsubmit = function () {
            alert("on submit");
            d.getElementById('submit').style.display = 'block';
            d.getElementById('loading2').style.display = 'block';
        };
    }(document));
</script>
4

2 に答える 2

1

リダイレクトの場合は、コンテンツをサーバーに送信して戻ってくることを意味します。理想的には、情報を投稿した後にページの現在のライフサイクルが終了し、戻ったときに新しいサイクルが開始されることを意味します。

これを行う 1 つの方法は、サーバーからコード内でなんらかの処理を行う前に、読み込み中のイメージをフラッシュすることです。

.net では、次の 2 つのステートメントでそれを行います。

 Response.Write("your loading image in html format");
 Response.Flush();

そのため、コンテンツ全体がブラウザーに読み込まれる前であっても、その一部がクライアントに送信されます。

于 2013-01-03T11:14:04.763 に答える
0

読み込み中の画像を見るための回避策を見つけました。他の人が恩恵を受けることができるようにここに投稿してください。
gif画像を取得し、cssプロパティがブロックとして表示されるdivタグ内に追加しました。

<div id="loading" style="position:absolute; width:100%; text-align:center; top:200px">
<img src = "images/loading.gif" width="70px" height="70px"/> </div>

次に、イベントonloadで呼び出すjavascript関数を作成しました。この関数では、displayプロパティをnoneに設定しています。

function stopLoading()
   { 
     document.getElementById('loading').style.display='none';
   }

私の場合、サーバーリクエストを送信するときに表示ブロックを設定し、設定をオンロードして何も表示しません。
これが他の人に役立つことを願っています。

于 2013-01-07T06:06:49.557 に答える