进度条和所需字段验证器

progress bar and requiredfieldvalidator

本文关键字:字段 验证      更新时间:2023-09-26

我正在使用progressbar和必需的字段验证器。但是当我点击提交按钮时。progressbar和validator消息都显示了。我的代码是

<script type="text/javascript">
    function ShowDiv() {
        setTimeout('document.getElementById("PB").style.display = "inline";', 500); 
    }
</script>
...
<asp:Button ID="btnSubmit" runat="server" Text="Submit" ValidationGroup="ValGrpSave" onclick="btnSubmit_Click" OnClientClick="ShowDiv()" />
...
<asp:TextBox ID="txtEmail1" Width="350px" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup="ValGrpSave" ErrorMessage="<b>Field Missing</b><br/>Issue no is Required" Display="None" ControlToValidate="txtEmail1" />
<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" TargetControlID="RequiredFieldValidator2" />

问题是,您不能阻止启动表单提交的按钮,而且由于表单无效,验证器会显示消息。

如果你的按钮只应该显示进度条,请尝试将你的脚本功能更改为这个(将其更改为非服务器按钮是另一回事,因为它没有任何服务器端功能,但让我们把它留给你):

function ShowDiv(evt) {
    // display progress bar after half a second
    setTimeout(function() {
         document.getElementById("PB").style.display = "inline";
    }, 500);
    // prevent button click event propagation thus prevent form submission
    evt.preventDefault();
    return false;
}

我还更改了setTimeout以提供一个函数,而不是已弃用的字符串语句。

还可以更改您的按钮

<asp:Button ID="btnSubmit" runat="server" Text="Submit" ValidationGroup="ValGrpSave" onclick="btnSubmit_Click" OnClientClick="return ShowDiv();" />