如何使用 ASP 文本框的 Textchange 属性

Posted

技术标签:

【中文标题】如何使用 ASP 文本框的 Textchange 属性【英文标题】:How to use Textchange property of ASP Textbox 【发布时间】:2010-08-19 06:54:01 【问题描述】:

我有一个 asp:textbox。在此文本框的 textchange 上,我正在对输入的文本进行验证。如果输入的文本不正确,我想闪烁一条输入错误文本的消息。请重新输入。如何在 ASP 中做到这一点?

【问题讨论】:

这取决于您是希望消息在每次按下导致无效输入的按键时立即闪烁(在这种情况下使用 Joel 的答案)还是仅在提交输入时(在这种情况下使用大卫的回答)。 实际上,如果 ClientValidation 为 true,则验证器会在文本框失去焦点时立即执行此操作。 【参考方案1】:

只需使用RegularExpressionValidator 并将客户端验证属性保持为默认的“true”值。控件将为您处理此行为。

这是一个使用代码的示例:http://www.w3schools.com/ASPNET/showasp.asp?filename=demo_regularexpvalidator

【讨论】:

澄清 - 正如@Joel Coehoorn 指出的那样,假设您想在没有回发的情况下在客户端执行此操作,必须进行回发将是一种糟糕的用户体验。 我要做一个回发。我正在做的验证存储在一个数据行数组中。因此我必须比较该数组中的文本值,然后在输入的文本是否正确时做出响应与否。 好吧,如果您将客户端验证属性设置为 false,这将与 Postback 一起使用。我可以推荐使用 Ajax UpdatePanel 来隐藏回发吗?【参考方案2】:

如果可以,您应该避免使用该属性。您的验证代码只会在您回发到服务器时运行,并且您不想在每次文本更改时都进行完整的回发,除非您真的必须这样做。相反,使用 javascript 来处理由 asp.net 在原始 html 中呈现的输入元素的 onchange 事件。然后记得在服务器上复制你的验证码。

【讨论】:

以上是关于如何使用 ASP 文本框的 Textchange 属性的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 验证失败时更改文本框的 css 类

在 c# 中使用 javascript 日历设置值后如何获取文本框的文本?

如何更改 chrome 中文本框的焦点样式?

在 GridView 中编辑行时如何设置文本框的宽度?

ASP中用submit提交表单后不清空文本框的内容,怎么做?

文本框的必填字段验证器