加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – RequiredFieldValidator要求用户单击两次

发布时间:2020-12-16 00:16:17 所属栏目:asp.Net 来源:网络整理
导读:我有一个简单的Web表单,其中包含一个文本框和一个RequiredFieldValidator.触发RequiredFieldValidator错误时,用户必须单击提交两次才能发布表单.第一次单击清除错误,第二次实际触发按钮单击事件.这是预期的行为吗? asp:RequiredFieldValidator ID="reqField
我有一个简单的Web表单,其中包含一个文本框和一个RequiredFieldValidator.触发RequiredFieldValidator错误时,用户必须单击提交两次才能发布表单.第一次单击清除错误,第二次实际触发按钮单击事件.这是预期的行为吗?
<asp:RequiredFieldValidator ID="reqFieldCloseComment" ControlToValidate="tbCloseComment" ValidationGroup="ChangeStatus" ErrorMessage="Please enter a reason" Display="Dynamic" runat="server"></asp:RequiredFieldValidator>
            <asp:TextBox ID="tbCloseComment" runat="server" CausesValidation="true" TextMode="MultiLine" Height="107px" Width="400px"></asp:TextBox>

        <asp:Button ID="btnCloseRequestFinal" Text="Finish" CssClass="CloseReqButton" runat="server" ValidationGroup="ChangeStatus" />

我尝试根据Google搜索中发现的建议将CausesValidation添加到文本框中,但它没有帮助.

编辑似乎并不总是需要双击才能触发事件.只要将文本输入文本框,然后将焦点从文本框中删除,RequiredFieldValidator错误消息就会消失,表单只需单击一下即可.

解决方法

发生这种情况是因为清除错误消息的代码在文本框失去焦点时运行.那么会发生什么:

>您在字段中输入文本
>您单击按钮,这会导致onblur事件发生在文本框上,触发代码以再次检查字段的值并删除错误消息
>现在验证中没有错误,因此再次单击该按钮会提交表单.

当您首先按Tab键(或基本上执行任何将焦点从文本框中移开)时,该onblur脚本将运行并清除错误,以便在您单击提交按钮时它已准备就绪.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读