rich:editor - Contar caracteres  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

Como fazer a contagem de caracteres (e informar ao usuário) de um rich:editor ao editá-lo?
Lembrando que este campo não permite a propriedade onkeyup!

Com uma textarea comum, objeto renderizado pelo rich:editor, bastava lançar uma função javascript no onkeyup fazendo a contagem de caracteres até o momento.
E agora?
natureza
JavaTeenager
[Avatar]

Membro desde: 07/05/2009 16:21:29
Mensagens: 198
Localização: Rio de Janeiro - RJ
Offline

Bom acho que se tu quer usar com onkeyup terá que usar o jQuery.

Mas na realidade ficará meio furado esta contagem.

Porque o usuário pode estar clicando em delete ou backspace e estará contando como digitação.

Ai tu terá que validar as teclas também.

Se eu pensar em algo aqui te posto em seguida.

----------------------------------------
Tiago Carpanese
Rio de Janeiro - RJ
www.actionit.com.br
[Email] [WWW] [MSN]
mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

Não não, acho que não expliquei direito.
Eu quero contar o número de caracteres ali dentro da caixa de texto!
Isto porque o campo no banco vai ter um limite de 500 caracteres, por exemplo.

Neste caso ele vai digitar a mensagem e será exibido quantos caracteres ele já utilizou.
Estou ciente de que quando ele utilizar negrito, italico, etc, ele estará perdendo caracteres, já que a tag html irá para o banco.


É um formulário simples onde o usuário irá postar sua mensagem, mas podendo utilizar recursos simples do html, por isso estou utilizando o rich:editor ao invés de um textarea.
Quando o usuário posta a mensagem maior do que o limite então eu já retorno uma facesmessages, porém o usuário fica meio no escuro sem saber quantos caracteres ele deve apagar. Por isso quero exibir o número de caracteres utilizados até aquele momento.
Grato!
mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

Anteriormente estava utilizando assim:
<textarea onkeyup="this.value = this.value.substring(0, 500);" ....
Quando o usuário atingia o limite, automaticamente o texto que ultrapassava era excluído.


Depois resolvi melhorar e fiz a chamada de uma funcao que exibia em tempo de execução o número de caracteres digitados, obtendo através do onkeyup do textarea o value.length do campo via javascript e mandando para uma div ou input edit, informando ao usuário ali na própria edição.

Veja que em ambas as situações eu utilizava a propriedade onkeyup do textarea. Que é quando o usuário está digitando.
Agora me deparo com o rich:editor que não permite esta propriedade.
E agora?

This message was edited 1 time. Last update was at 04/02/2010 14:30:59

natureza
JavaTeenager
[Avatar]

Membro desde: 07/05/2009 16:21:29
Mensagens: 198
Localização: Rio de Janeiro - RJ
Offline

Entãoooo...

Pera ai huahuahuauha... Acho que isto da certo.

Faz assim... usa o rich:editor ai tu coloca o id dele de por exemplo texto. Ai usa jQuery assim:



Anexei o jquery-1.4.min.js

Abraço e me diz se deu certo !
 Nome do arquivo jquery-1.4.min.js [Disk] Download
 Descrição
 Tamanho 68 Kbytes
 Baixado:  83 vez(es)


----------------------------------------
Tiago Carpanese
Rio de Janeiro - RJ
www.actionit.com.br
[Email] [WWW] [MSN]
mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

Será que tem outra saída além desta, tendo que adicionar plugin à aplicação?
natureza
JavaTeenager
[Avatar]

Membro desde: 07/05/2009 16:21:29
Mensagens: 198
Localização: Rio de Janeiro - RJ
Offline

JQuery é algo hoje que é utilizado em tudo.

Melhora os códigos tals.

O RichFaces ja incorpora jQuery.

Acho que vale a pena. Testa ai e me fala o resultado !

Abraço

----------------------------------------
Tiago Carpanese
Rio de Janeiro - RJ
www.actionit.com.br
[Email] [WWW] [MSN]
mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

Então, é isso mesmo, o RichFaces já incorpora o jQuery. Só não sei a versão e nem os plugins.
Sei que o <rich:editor é tinyMCE.
Bom, ao chamar o arquivo que você anexou e abrir a página é exibido o erro:

---
Detalhes dos erros da página da Web
Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.3061
Carimbo de data/hora: Fri, 5 Feb 2010 15:54:03 UTC
Mensagem: O objeto não dá suporte para a propriedade ou método
Linha: 265
Caractere: 107
Código: 0
URI: http://localhost:8080/nomedosistema/a4j/g/3_3_1.GAorg.ajax4jsf.javascript.PrototypeScript.jsf
---

E o onkeyup não funciona.
Eu tentei também um document.getElementById("idDoRichEditor"); para exibir o conteúdo e nada, nem chamou.
O RichFaces pode ter tirado o evento onkeyup justamente por saber que daria conflito com o TinyMCE. Não seria a toa a indisponibilidade desta função.

Enfim, agora não sei o que fazer...



mrbbm
JavaChild

Membro desde: 16/12/2009 14:49:58
Mensagens: 125
Offline

sammers21
JavaBaby
[Avatar]

Membro desde: 12/08/2008 07:12:03
Mensagens: 85
Offline

Cara esse erro aconteceu comigo!!!

o possivel problema é que você esta importando o jquery por meio de tag html <script src="caminho do jquey"></script>

como richfaces incorpara o o jquery não percisa declara-lo como foi feito em codigo

<script type="text/javascript" src="jquery-1.4.min.js"></script>

apenas apague então esta linha e seja feliz....
[Email] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team