如何在javascript中隐藏进度条

时间:2015-01-02 17:40:21

标签: javascript jquery asp.net validation

伙计们我正在进行航班预订api集成项目。当我点击按钮进度条上的搜索航班时,每一件事情都运转正常。但我遇到的问题是我从javascript调用进度条,当页面上有验证错误时,仍会显示进度条。所以我的问题是如何在页面上存在验证错误时隐藏进度条我正在使用asp.net服务器验证。

我的javascript是这样的:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        function ShowProgress() {
            setTimeout(function () {
                var modal = $('<div />');
                modal.addClass("modal");
                $('body').append(modal);
                var loading = $(".loading");
                loading.show();
                var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
                var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
                loading.css({ top: top, left: left });
            }, 200);
        }


         function changes() {

             ShowProgress();

         }
    </script>

我在按钮点击时调用它,如thsi:

<asp:Button ID="btnSearch" OnClientClick ="changes();"  runat="server" ValidationGroup ="r" Text="Search" Height="40px" 
                Width="134px" onclick="btnSearch_Click" />

我的进度条div是这样的:

<div class="loading" align="center">
        Loading. Please wait.<br />
        <img src="load.gif" style="height:50px; width :50px;" alt="" />
    </div>

1 个答案:

答案 0 :(得分:1)

这很简单无需隐藏进度条。我做了什么只有当页面没有验证错误时我才显示进度条。为此我将验证组分配给每个验证控件和搜索按钮为&#34; r&#34;然后检查验证错误:

function changes() {
            if (Page_ClientValidate("r"))
                ShowProgress();


        }

修改了changes()函数。谢谢@Basic