首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RequiredFieldValidator要求用户单击两次

RequiredFieldValidator要求用户单击两次
EN

Stack Overflow用户
提问于 2011-08-16 23:47:21
回答 2查看 3.6K关注 0票数 7

我有一个带有文本框和连接到它的RequiredFieldValidator的简单web表单。当触发RequiredFieldValidator错误时,用户必须单击提交两次才能发布表单。第一次单击清除错误,第二次实际触发按钮单击事件。这是预期的行为吗?

代码语言:javascript
复制
<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" />

我试着将CausesValidation添加到textbox中,这是从谷歌搜索中发现的一个建议,但没有帮助。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-17 14:53:36

这是因为清除错误消息的代码在文本框失去焦点时运行。所以所发生的是:

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

当您首先按tab键(或者基本上做任何将焦点从textbox中移除的操作)时,onblur脚本将运行并清除错误,这样当您单击submit按钮时,它就可以运行了。

票数 1
EN

Stack Overflow用户

发布于 2012-06-21 08:57:21

我对CompareValidator也有同样的问题,当我将Display属性从动态更改为静态时,问题就消失了。希望这有帮助

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7086471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档