maxLength属性不会阻止字符输入ExtJS MessageBox.prompt()

 书友36296361 发布于 2023-01-20 19:31

我在单击时显示提示,并且希望能够限制用户可以输入的字符数。在extjs文档中,我找到了有关maxLength属性的信息,听起来这正是我想要的。我发现如果将maxLength设置为所需的字符数限制,则extjs控件会自动限制我的字符数。到目前为止,情况并非如此,但是它似乎确实以某种方式验证了输入,因为当超出maxLength限制时,该文本框用红色勾勒出轮廓。这是我当前的代码:

var prompt, textArea;
prompt = Ext.MessageBox.prompt("Hello!", "Hint");
textArea = prompt.down('textarea');
textArea.maxLength = 140;

las,这无法阻止用户输入超过140个字符。

有谁知道如何限制像这样的MessageBox中的字符数?或者有人可以告诉我为什么maxLength无法按我期望的方式工作?

谢谢

- 编辑 -

正如newmount指出的那样,看来正确的解决方案是在textarea标记上设置maxLength属性。这是w3学校的示例链接:http : //www.w3schools.com/tags/att_textarea_maxlength.asp

我的问题是选择正确的标签。对于ExtJS中的文本区域,它看起来像:

// true denotes multiline and causes Ext to use textarea tag for input
var prompt = Ext.MessageBox.prompt("Hello!", "Hint", "", "", true); 

prompt.textArea.inputEl.set({
    maxLength: 140
});

似乎成功的一半是在生成的标签中选择正确的DOM元素。希望这对以后的人有所帮助!

注意: Opera或IE9及更早版本不支持maxLength属性(有关引用,请参见w3学校链接)。

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有