0

I set up this html code in jsf and it doesnt limit the length of characters, it still go beyond 576 characters how do I set it up? I need to set up the rows to 4 but opted to do style to be consistent on all browsers, is this correct? Here is the code.

<td colspan="7">
 <h:outputText id="explanation1"
    value="#{handler.document.header.docDesc}"
rendered="#{documentHandler.mode != 2}"/>
 <h:inputTextarea id="explanation2" 
    value="#{documentHandler.document.header.docDesc}"
rendered="#{documentHandler.mode == 2}" 
style="height: 60px; width: 705px;"> 
    <f:validateLength maximum="576"/> 
</h:inputTextarea>   
</td>
4

1 回答 1

2

首先,当您正在编写一些JSF时,我建议您也迁移 HTML 表格并将其转换为h:dataTable. 除此之外,<f:validateLength maximum="576"/>标签正在进行JSF 验证,这仅在服务器端完成。这意味着您不会限制客户端(浏览器)的输入,仅在发送表单时执行验证,并且这一切都在服务器端完成。

要在客户端执行此操作,您必须使用 Javascript/JQuery 解决方案。请记住分配textArea一个styleClass被调用的max

$('textarea.max').keyup(function() {
var $textarea = $(this);
var max = 576;
if ($textarea.val().length > max) {
    $textarea.val($textarea.val().substr(0, max));
}
});

原始链接

于 2013-02-13T22:08:41.360 回答