You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 03:08:05