InputTextArea Keyup事件和焦点

时间:2012-11-24 16:39:14

标签: java ajax jsf richfaces

我正在尝试使用ajax创建一个动态的InputTextArea。我解释一下:我有一个inputTextArea,用户可以在其中写下他的文本,但我想限制这一个中的字符数。 因为我不想让它成为服务器端,基本上通过在提交步骤检查此输入的大小。 我尝试将其设置为动态:当达到字符数量时,将切断用户输入。

所以,我写这段代码:

<h:inputTextarea value="#{bean.val}" id="area">
      <a4j:ajax event="keyup" listener="#{bean.cutoff}" execute="@this" render="area" />
</h ...>

在我的bean中,听众做了非常基本的事情:

public void cutoff() {
    if(val.length() > 100)
            val = val.substring(0, 100);
}

当我运行它时,我有以下问题:每次我输入一个字母时,它都会失去对inputTextArea的关注。所以真的很无聊。

我试图在我的a4j中添加:ajax属性:

<a4j:ajax ... onbeforedomupdate="area.focus();"/>

但它不起作用:我可以键入一些字母,但不再调用函数(cutoff())。

所以我不知道该怎么做。第一个解决方案启动功能但失去了焦点,第二个解决了焦点,但没有启动功能(仅当我第一次这样做时)......

如果您有解决此问题的方法,那就太棒了。

提前致谢。

0 个答案:

没有答案