ASPX 控件中的客户端 OnKeyUp

本文关键字:客户端 OnKeyUp 控件 ASPX | 更新日期: 2023-09-27 18:32:59

我正在尝试在文本框中进行javascript调用,如下所示

<asp:TextBox ID='Textbox1' runat='server'></asp:TextBox>
我需要让用户输入的方式是

,用户不能在点之前输入超过 9 位数字,在点之后输入超过 9 位数字。例如 123456789.123456789,这是用户可以输入的最大长度。我需要在按键或键控事件中执行此操作。请帮我怎么做。

ASPX 控件中的客户端 OnKeyUp

为什么不使用 AJAX 控件工具包屏蔽编辑扩展器?首先,您的正则表达式如下所示:^'d{1,9}('.{1,9})?$ .你像这样应用它:

<asp:TextBox ID='Textbox1' runat='server'></asp:TextBox>
<asp:RegularExpressionValidator runat="server" ControlToValidate="Textbox1" 
     ErrorMessage="Invalid format" ValidationExpression="^'d{1,9}('.{1,9})?$" 
     SetFocusOnError="true"/>

在 JQuery 旁边,以确保该文本框中只有 9 个字符,您可以执行此操作

<asp:TextBox runat="server" MaxLength="9"></asp:TextBox>

可能不是答案,但在我看来,这是一种更容易的替代方案。

你可以使用 JQuery 来做到这一点。

语法:

$('#textboxID').on('KeyUp',function({
    // Validation Logic
}));

但我建议使用KeyPress事件而不是KeyUp事件。以下是使用KeyUp时可能会偷偷溜走的情况

箱:

用户具有输入123456789,当他按下第 10 个键时,文本框将显示1234567890。触发 keyUp 后,将触发验证,文本将恢复为123456789。虽然它会出现很短的时间,但主动比被动更好。

引用:

  • 密钥接口
  • 按键接口
  • 事件 API 上
  • 仅适用于数值