2013-02-13 63 views
0

我在jsf中設置了這個html代碼,它並沒有限制字符長度,它仍然超出了576個字符我該如何設置它?我需要將行設置爲4,但選擇在所有瀏覽器上使樣式保持一致,這是正確的嗎?這是代碼。如何設置Inputtextarea屬性來顯示最大長度,行和寬度

<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> 

回答

2

首先,當你正在寫一些JSF,我建議你也遷移HTML表,並將其轉換成h:dataTable。 Appart,<f:validateLength maximum="576"/>標籤正在做JSF驗證,這隻在服務器端完成。這意味着在輸入時不限制客戶端(瀏覽器),只有在發送表單時才執行驗證,並且全部在服務器端完成。

要在客戶端執行此操作,您必須轉到Javascript/JQuery解決方案。請記住,分配textAreastyleClass稱爲max

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

Original link

+0

可以客戶端驗證使用AJAX做了什麼?你怎麼做到這一點?謝謝。 – user1457390 2013-02-14 18:13:00

+0

我使用jsf和richfaces這個應用程序。 – user1457390 2013-02-14 18:25:19

+0

我正在尋找這樣的東西。 – user1457390 2013-02-14 20:09:12

相關問題