JQueryプログレスバーと送信時の部分ビュー

JoshYates1980

動作する検索機能がありますが、送信時にjqueryプログレスバーを含めたいと思います。パーシャルビューの読み込みに最大5秒かかる場合があります。ユーザーが送信/エンターキーを押し続けないように、プログレスバーが必要です。そして、送信が押されるまでプログレスバーを非表示にしたいと思います。

パーセンテージで実際に読み込み時間を測定する方法はありますか?

Jqueryプログレスバー:https://jqueryui.com/progressbar/#label

見る:

@model Application.Web.ViewModels.BillingViewModel

@{
ViewBag.Title = "BillingLetterSearch";
Layout = "~/Views/Shared/_LayoutFullWidth.cshtml";
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
.ui-progressbar {
 position: relative;
}
.progress-label {
 position: absolute;
 left: 50%;
 top: 4px;
 font-weight: bold;
 text-shadow: 1px 1px 0 #fff;
}
</style>

<div class="row">
<panel>
    <table class="table">
        <thead>
            <tr>
                <th>Search By Employee Number:</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td colspan="3">
                    @Html.TextBoxFor(x => Model.EmployeeNumber, new { @class = "form-control", @id = "EmployeeNumber", @autofocus = "autofocus" })
                </td>
                <td>
                    &nbsp;
                </td>
            </tr>
            <tr>
                <td colspan="4" style="text-align:center;">
                    <br>
                    <div class="submit-holder">
                        <button id="SubmitButton" class="btn-mvc btn-mvc-large btn-mvc-green" onclick="DisplayBuyinInfo();">
                            Search
                        </button>
                    </div>
                </td>
            </tr>
        </tbody>
    </table>
</panel>
<div class="row" id="Results">
    @Html.Partial("_SearchByEmployeeNumber", Model.EmployeeNumber)
</div>

<script>
  function DisplayBuyinInfo() {
    $("#Results").load('@(Url.Action("_SearchByEmployeeNumber", "Bill", null, Request.Url.Scheme))?id=' + $("#EmployeeNumber").val());
};



$(document).ready(function () {
    $('#EmployeeNumber').keypress(function (e) {
        if (e.keyCode == 13)
            $('#SubmitButton').click();
    });
});


$(function () {
    //$('#progressbar').hide();
    //$('#SubmitButton').click(function () {
        //$('#progressbar').show();
        var progressbar = $("#progressbar"),
          progressLabel = $(".progress-label");

        progressbar.progressbar({
            value: false,
            change: function () {
                progressLabel.text(progressbar.progressbar("value") + "%");
            },
            complete: function () {
                progressLabel.text("Complete!");
            }
        });

        function progress() {
            var val = progressbar.progressbar("value") || 0;

            progressbar.progressbar("value", val + 2);

            if (val < 99) {
                setTimeout(progress, 80);
            }
        }

        setTimeout(progress, 2000);
    });
//});
</script>

PartialView:_SearchByEmployeeNumber

@model Application.Web.ViewModels.BillingViewModel


<div id="progressbar"><div class="progress-label">Loading...</div></div>



//...code left out for brevity

コントローラ

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult _SearchByEmployeeNumber(string id)
{
  //...code left out for brevity
}
Triet Doan

ユーザーが送信/エンターキーを押し続けないように、プログレスバーが必要です

私の経験では、プログレスバーユーザーが送信/ Enterキーを押し続けるのを止めることはできませんその上、それはあなたがそれを管理するためのより多くのハードワークを追加します。

簡単な解決策は、作業が完了するまでを無効にするsubmit buttonことです。

ただし、フォームが送信された後、ユーザーはページを更新してフォームを再送信できますこれを防ぐには、を実装する必要がありPRG (Post-Redirect-Get) patternます。ウィキペディアは非常に明確にこの問題について書いています。

問題 問題

解決 解決

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

プログレスバーとウェブビューの問題

分類Dev

リストビューのプログレスバー

分類Dev

部分ビューの送信と ストリング

分類Dev

Jqueryの時間プログレスバーの作成方法

分類Dev

iOSアプリの送信とベータレビュープロセス

分類Dev

iOSアプリの送信とベータレビュープロセス

分類Dev

フラッター:持続時間とプログレスバーのあるスプラッシュ画面

分類Dev

時間のかかる作業とプログレスバー

分類Dev

AndroidのWebビューでプログレスバーの問題

分類Dev

WebビューのRelativelayoutにプログレスバーが表示されない

分類Dev

ExoPlayerは、プログレスバーをプレーヤービューの下に配置します

分類Dev

GoogleChrome拡張機能のレビュー時間プロセス

分類Dev

AWS MediaConvert-プログレスバーのホバリングでのビデオプレビュー用のスプライトの生成

分類Dev

グローバルテンプレートとビューを使用するDjango

分類Dev

テーブルビューの検索バーと検索ディスプレイコントローラー

分類Dev

フラグメントのWebビューとともにプログレスバーを実装できません

分類Dev

Nmapを使用したパイプビューア(プログレスバー)

分類Dev

プログレスビューフリップとスケール

分類Dev

プログレスバービューフラスコを表示する

分類Dev

Ruby / Greenシューズのプログレスバー

分類Dev

プログレスバーを画像ビューsrcとして使用しますか?

分類Dev

休憩jqueryプログレスバー

分類Dev

スプラッシュスクリーン-ラベルとプログレスバーへのアクセス

分類Dev

Bootstrap Vue:プログレスバーを時間の経過とともにスムーズに埋める方法

分類Dev

プログレスバーの時間を増やす

分類Dev

UTC時間のプログレスバー

分類Dev

JQueryプログレスバーのアニメーション

分類Dev

jQueryとCSSを使用したプログレスバー

分類Dev

xamarin android のプログレスバーとスレッド

Related 関連記事

  1. 1

    プログレスバーとウェブビューの問題

  2. 2

    リストビューのプログレスバー

  3. 3

    部分ビューの送信と ストリング

  4. 4

    Jqueryの時間プログレスバーの作成方法

  5. 5

    iOSアプリの送信とベータレビュープロセス

  6. 6

    iOSアプリの送信とベータレビュープロセス

  7. 7

    フラッター:持続時間とプログレスバーのあるスプラッシュ画面

  8. 8

    時間のかかる作業とプログレスバー

  9. 9

    AndroidのWebビューでプログレスバーの問題

  10. 10

    WebビューのRelativelayoutにプログレスバーが表示されない

  11. 11

    ExoPlayerは、プログレスバーをプレーヤービューの下に配置します

  12. 12

    GoogleChrome拡張機能のレビュー時間プロセス

  13. 13

    AWS MediaConvert-プログレスバーのホバリングでのビデオプレビュー用のスプライトの生成

  14. 14

    グローバルテンプレートとビューを使用するDjango

  15. 15

    テーブルビューの検索バーと検索ディスプレイコントローラー

  16. 16

    フラグメントのWebビューとともにプログレスバーを実装できません

  17. 17

    Nmapを使用したパイプビューア(プログレスバー)

  18. 18

    プログレスビューフリップとスケール

  19. 19

    プログレスバービューフラスコを表示する

  20. 20

    Ruby / Greenシューズのプログレスバー

  21. 21

    プログレスバーを画像ビューsrcとして使用しますか?

  22. 22

    休憩jqueryプログレスバー

  23. 23

    スプラッシュスクリーン-ラベルとプログレスバーへのアクセス

  24. 24

    Bootstrap Vue:プログレスバーを時間の経過とともにスムーズに埋める方法

  25. 25

    プログレスバーの時間を増やす

  26. 26

    UTC時間のプログレスバー

  27. 27

    JQueryプログレスバーのアニメーション

  28. 28

    jQueryとCSSを使用したプログレスバー

  29. 29

    xamarin android のプログレスバーとスレッド

ホットタグ

アーカイブ