extjs中TextField有setMaxLength()和setMinLength(),但是超出位数仍然可以继续输入,现在对TextField重写来实现这个功能
public class EnhancedTextField<D> extends TextField<D> {
public void setMaxLength(int m) {
super.setMaxLength(m);
if (rendered) {
getInputEl().setElementAttribute("maxLength", m);
}
}
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
getInputEl().setElementAttribute("maxLength", getMaxLength());
}
}
现在可以创建一个EnhancedTextField对象调用setMaxLength()即可以实现输入到最大位数以后不能再输入的效果
EnhancedTextField sendNumber = new EnhancedTextField<String>();
sendNumber.setFieldLabel("<font color=red>*</font>数量");
sendNumber.setAllowBlank(false);
sendNumber.setToolTip("最大数量为50000张,只能输入1到50000的数字");
sendNumber.setRegex("[1-9][0-9]*");
sendNumber.getMessages().setRegexText("只能输入1到50000的数字");
sendNumber.setMaxLength(5);
本文介绍如何通过重写ExtJS中的TextField组件来实现严格的输入长度限制功能,确保输入内容不会超过设定的最大长度。
1415

被折叠的 条评论
为什么被折叠?



