JSF - Contar caracteres

4 respostas
D

Olá pessoal,

Gostaria de saber se há uma maneira de mostrar quantos caracteres de um <h:inputTextarea> mostrando em um <h:inputText> logo ao lado.
Teria de fazer isso com javasctipt puro ou dá para implementar usando Ajax?
Estou usando o Richfaces + ajax4jsf

[]'s

4 Respostas

M

É mais interessante fazer no lado cliente, pensando eu algo simples eu faria assim:

<input name="nome" id="nome" type="text" onkeyup="document.getElementById('cont').value = this.value.length"/>
<input name="cont" id="cont" type="text"/>

Lembra que o JSF altera o ID do objeto para iddoform:iddoobjeto, neste caso. Então o destino ficaria: idform:cont

D

Obrigado MC_Coelho.
Funcionou certinho!

[]'s

R

MC_Coelho, vc poderia mostrar a solução, fiz aqui conforme falado não deu muito certo, estou usando JSF 2.0 + primefaces.

fiz da seguinte forma:

<h:inputTextarea i= value="#{meuMB.info}" cols="60" rows="10"
                                             validatorMessage="Máximo 500 caracteres"
                                             onkeyup="document.getElementById('cont').value = this.value.length">
                                <f:validateLength maximum="500" />
                            </h:inputTextarea>
                            <h:outputText id="cont" value="idform:cont" />

queria contar os caracteres tanto se digitar como se apagar…

se puder me dar um dica de como resolveu…
obrigadoo

M

redthi,
pelo que entendi deveria ficar assim:

<h:form id="idform">
<h:inputTextarea i= value="#{meuMB.info}" cols="60" rows="10"   
                                       validatorMessage="Máximo 500 caracteres"   
                                       onkeyup="document.getElementById([b]'idform:cont'[/b]).value = this.value.length">   
                          <f:validateLength maximum="500" />   
                      </h:inputTextarea>   
                      <h:outputText id="cont" value="500" />  
</h:form>
Criado 11 de novembro de 2008
Ultima resposta 5 de fev. de 2011
Respostas 4
Participantes 4