1

我正在使用 Richfaces,我正在尝试<textArea>使用 maxlength 属性设置,但 JSF 似乎没有从 h:inputTextArea 传递 maxlength 属性。任何想法为什么会发生这种情况?

<h:inputTextarea maxlength="100" cols="20" rows="10" value="#{bean.description}" id="description" />
4

3 回答 3

6

maxlength不存在于h:inputTextarea请参阅文档)。

要添加验证器消息,请尝试

<h:inputTextarea >
  <f:validateLength maximum="100"></f:validateLength>
</h:inputTextarea>
于 2011-08-31T08:22:06.690 回答
1

这并不是真正的 RichFaces 问题,而是涉及 JSF。之前也得到了更好的回答。请参阅@BalusC 的回答 如何在 h:inputTextarea 上设置 maxlength 属性

于 2012-06-18T06:59:28.700 回答
1

我们的解决方案是在包含 maxlength 数字的 textarea 前面立即放置一个额外的 span。

<span class="maxlength">35</span>

你给那个类一个“显示:无;” 规则隐藏它。然后使用 JavaScript 查找每个 span.maxlength 并将其中的数字移动到 textarea 的 maxlength 属性中(使用 jQuery):

$('span.maxlength').each(function(){
    $this = $(this);
    $this.next('textarea').attr('maxlength',$this.html());
    $this.remove();
});

完成后,运行其他限制在 textareas 中输入的 JavaScript。

哈基?是的。但是不支持 maxlength 的 JSF 是 hacky。

于 2012-05-21T20:02:47.173 回答