0

この html コードを jsf で設定しましたが、文字の長さは制限されていませんが、それでも 576 文字を超えています。行数を 4 に設定する必要がありますが、すべてのブラウザーで一貫したスタイルにすることを選択しましたが、これは正しいですか? これがコードです。

<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たを割り当てることを忘れないでください:styleClassmax

$('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 に答える