GWT TextArea的最大长度

10

我无法为GWT TextArea设置最大长度。请问有人可以帮助我在GWT中实现这个功能吗?

TextArea t1 = new TextArea();
t1.setMaxLength(300); // This method doesn't exist. How do I do this?

你说你无法设置最大长度是什么意思?具体问题是什么,除了遇到问题之外,你并没有说太多。 - mP.
嗨,我想限制用户输入不超过300个字符,我查看了API,没有可以为我完成此操作的方法。我该如何在GWT中实现这一点? - Delli Kilari
4个回答

14

Gal的回答是正确的,只有一个小改正:

t1.getElement().setAttribute("maxlength", "100");

第二个参数是一个字符串。这对我有用。


抱歉,我应该删除我的评论。我的问题是我使用了GXT组件。 - Pith

7
您可以这样设置:
t1.getElement().setAttribute("maxlength", "100");

3

由于maxLength是HTML5的功能,因此在旧版浏览器中不起作用。您需要自己完成它。只需添加一个keyPress处理程序,在文本区域中计算文本的长度,如果太长就截断文本。


嗨,谢谢您的回复,但是当我从Word文件中复制内容(超过300个字符)并粘贴到文本区域时,即使这次也不应该允许。请帮助我解决这个问题。 - Delli Kilari
你测试过keyPressHandler无法正常工作吗?毕竟在复制粘贴时需要按下2个键。但是使用上下文菜单时不需要。看起来你必须使用JSNI方法自己实现粘贴事件:http://www.quirksmode.org/dom/events/cutcopypaste.html - Andreas Köberle
我使用了所有的处理程序,实际上它们都能正常工作,但是在剪切、复制和粘贴时却不能。有没有什么方法可以解决这个问题呢?谢谢。 - Delli Kilari
正如我在上一条评论中提到的,您需要创建一个JSNI函数,使用纯JavaScript为粘贴事件添加eventListener。 - Andreas Köberle
@Chris,感谢你的回复,真的帮了大忙,还要感谢所有人。 - Delli Kilari
显示剩余2条评论

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接