gpt4 book ai didi

javascript - 外部JS : How to enforce the MaxLength to false at run time?

转载 作者:行者123 更新时间:2023-11-28 01:33:27 25 4
gpt4 key购买 nike

我正在处理文本字段并使用 enforceMaxLength 配置限制最大长度。

因此,作为一个用例 - 我限制用户只能输入 14 个字符。但是,一旦使用 this.setRawValue(Ext.util.Format.currency(this.getValue())); 设置值,我的文本字段就会附加 .00 和美元符号。

因此,设置该值后,文本字段的总长度变为 18,并且始终给出最大长度违规错误消息。

有什么方法可以避免错误消息,但仍然限制用户只能输入 14 个字符?我正在尝试清除 maxLength 文本,但无法找到方法或解决方法来执行此操作。

任何指示都会有帮助。

最佳答案

您可以重写 textfieldvalidator 函数,并在应用格式时调用 textfield.validate()

http://jsfiddle.net/FcXrL/1/

这是一个概念证明,您将需要更新正则表达式。

现在,如果您可以编写一个好的正则表达式并使其在一行中进行验证,那么您始终可以使用 VType。只需确保在设置货币时调用 textfield.validate(),因为使用格式 util 更改文本不会导致验证函数运行。

更新

所以我到处寻找一种内置的方法来做到这一点,但这已经是我能得到的最好的了。
我们要做的是捕获 textfield 上的 keypress 事件,并测试我们有多少个字符。如果我们超过阈值(在本例中为 14),我们只需 .setValue() 使用当前输入的子字符串。

http://jsfiddle.net/vYu4G/5/

在这个 fiddle 中,我将textfield分解为它自己的变量,这样我就可以轻松地执行.on()。如果您使用的是 MVC,您只需在 Controller 中监听 keypress 事件即可。

另外请注意,没有 enforceMaxLengthmaxLength 配置,我添加了 enableKeyEvents 配置。

关于javascript - 外部JS : How to enforce the MaxLength to false at run time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21807548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com