テキストボックス、ddls、ボタンなどを含むasp.netフォームがあります。投稿の1つが完了するまでに時間がかかります。
フォームが投稿されるまで、ページを暗くし、ユーザーがフォームのコントロールを選択できず、回転する読み込みバーを表示する最も簡単な方法は何ですか?
jqueryに組み込まれているようなものはありますか?
これが私の解決策です。非表示のモーダル ポップアップを追加し、ボタンをクリックすると開きます。ポップアップには autoOpen=false があるため、ポストバック後に閉じられます。
<script type="text/javascript">
$(function () {
$("#<%=dialog.ClientID %>").dialog({
autoOpen: false,height: 100,width: 200,modal: true,closeOnEscape: false,resizable: false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },
beforeClose: function (event, ui) { return false; }
});
$("#buttonId").click(function () {
$("#<%=dialog.ClientID %>").dialog("open");
});
})
</script>
<div runat="server" id="dialog" title="Loading ">
<p>Loading...</p>
</div>
可能な改善は、これをユーザー コントロールまたはマスター ページに埋め込み、ボタン名の代わりにクラス セレクターを使用することです。つまり、$('.slowButton')。
これは、slowButton css クラスを追加するだけで効果を適用するボタンを選択できることを意味します。
var $loader = $('<img src="loader.gif">').appendTo(document.body);
その後、成功方法で
success: function (data) {
$loader.remove();
}
成功メソッドが呼び出されなくなるまで画面を非表示にします
または、以下のプラグインを使用できます