TextBox搭配RequiredFieldValidator需点击两次才能切换焦点的问题求助
TextBox搭配RequiredFieldValidator需点击两次才能切换焦点的问题求助
之前第一次提问这个问题没解决,所以我再重新来一遍,尽量补充更详细的信息。我现在正遇到一个一模一样的问题:当RequiredFieldValidator绑定到文本框时,必须点击两次才能将焦点切换到下一个(或其他任意)控件。
我理解相关帖子里提到的原因,但就像其中一位作者说的那样:“我不想让用户点两次”。我已经试过帖子里的各种建议,但到目前为止都没效果,想问问有没有人找到其他可行的解决办法?
我已经尝试过的方法包括:
- 设置
EnableClientScript="False" - 已经设置
Display="Static"(这是我个人偏好的配置) - 在
Page_Load中调用Page.Validate();和Page.Validate("vgPage04");(不管是IsPostBack还是!IsPostBack的情况都试过) - 同时配置了
ErrorMessage和Text属性 - 既在属性里设置了ErrorMessage,也在标签中间写了错误信息内容
- 给文本框设置
CausesValidation="true" - 用普通的ASP.NET TextBox替代Telerik RadTextBox
- 没有使用CompareValidator
- 仅用服务器端验证的CustomValidator也会出现同样的问题
- 用客户端验证的CustomValidator会引发另一个问题,所以不想走这条路
这里说一下我的业务场景:设计上允许用户在字段无效时跳转到应用的下一页,无效字段只需要在后续页面的最终提交前补全即可,不是翻页就必须填完。
我的相关代码如下:
<telerik:RadTextBox ID="txtSample" runat="server" AutoPostBack="true" RenderMode="Lightweight" style="max-width:none;" Resize="None" Width="330px" > </telerik:RadTextBox> <asp:RequiredFieldValidator ID="valSample" runat="server" ControlToValidate="txtSample" ValidationGroup="vgPage04" EnableClientScript="False" Display="Static" CssClass="cssRF_splat" Text="*" ErrorMessage="Sample" > </asp:RequiredFieldValidator>
另外,不管是IsPostBack还是!IsPostBack的情况,我都会在Page_Load中调用Page.Validate();。
感谢大家!
内容来源于stack exchange
相关产品推荐
相关产品推荐

