Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alessancost

Quantidade de caracteres

Recommended Posts

Olá pessoal!

 

Eu estou querendo colocar a quantidade de caracteres disponíveis em meu formulário, que quando o usuário for digitando diminui o número de caracteres disponíveis. Igual ao do torpedo disponível nesse página na parte inferior do lado direito.

 

Tentei olhar na fonte da página, mas não consegui reproduzi-lo. Alguém sabe como posso faze-lo?

 

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alessancost, isso não é dificil.. o que você vai precisar saber..

a quantidade de digitos que o campo vai ter... isso você pode saber com

document.nomform.nomecampo.value.length
você quer que ao digitar ele diminua 1. . então você vai usar sempre o operador matematico -

 

assim basta você tirar 1 da quantidade de caracteres do campo

um exemplo

10 - document.nomform.nomecampo.value.length
assim você teria 10 como valor fixo e tiraria um por caractere...

depois basta você mostrar isso em um campo text com

document.nomform.nomecampo.value=valor a ser mostrado aqui;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai precisar dessas três funções:

 

 

ASP

[*]

[*]var ns6 = document.getElementById && !document.all

[*]

[*]function RestringeInput(maxlength,e,placeholder){

[*] if ( window.event && event.srcElement.value.length >= maxlength ) {

[*] return false

[*] } else if ( e.target && e.target == eval( placeholder ) && e.target.value.length >= maxlength ) {

[*] var PressTecla = /[a-zA-Z0-9\.\,\/]/ //detecta caracteres alfanuméricos

[*] if ( PressTecla.test ( String.fromCharCode ( e.which ) ) ) {

[*] e.stopPropagation()

[*] }

[*] }

[*]}

[*]

[*]function ContaLimite( maxlength , e , placeholder ) {

[*] var theform = eval( placeholder )

[*] var lengthleft = maxlength-theform.value.length

[*] var placeholderobj = document.all ? document.all[placeholder] : document.getElementById( placeholder )

[*] if ( window.event || e.target&&e.target == eval( placeholder ) ){

[*] if ( lengthleft < 0 )

[*] theform.value = theform.value.substring( 0 , maxlength )

[*] placeholderobj.innerHTML = lengthleft

[*] }

[*]}

[*]

[*]

[*]function MostraLimite( theform,thelimit ) {

[*] var limit_text = '<span id="'+theform.toString()+'" style="font-family:Tahoma; font-size:11px; color:#990000">'+thelimit+'</span><span style="font-family:Tahoma; font-size:11px; color:#990000"> caracteres restantes.</span>'

[*] if ( document.all || ns6 )

[*] document.write( limit_text )

[*] if ( document.all ) {

[*] eval( theform ).onkeypress = function(){ return RestringeInput( thelimit,event,theform )}

[*] eval( theform ).onkeyup = function(){ ContaLimite( thelimit,event,theform ) }

[*] } else if ( ns6 ) {

[*] document.body.addEventListener( 'keypress', function( event ) { RestringeInput( thelimit , event , theform ) }, true );

[*] document.body.addEventListener( 'keyup', function( event ) { ContaLimite( thelimit , event , theform ) }, true );

[*] }

[*]}

 

E para chamar, faça assim:

 

ASP

[*]<script>

[*] MostraLimite(document.nome_form.elements["nome_campo"],100) //100 = quantidade de caracteres permitidos.

[*]</script>

 

Espero que te ajude! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Qq coisa é só postar...

 

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

fael; eu fiz assim, mas acredito ter feito errado, pois nada aconteceu...

 

<script language="JavaScript">var ns6 = document.getElementById && !document.allfunction RestringeInput(maxlength,e,placeholder){if ( window.event && event.srcElement.value.length >= maxlength ) {return false} else if ( e.target && e.target == eval( placeholder ) && e.target.value.length >= maxlength ) {var PressTecla = /[a-zA-Z0-9\.\,\/]/ //detecta caracteres alfanuméricosif ( PressTecla.test ( String.fromCharCode ( e.which ) ) ) {e.stopPropagation()}}}function ContaLimite( maxlength , e , placeholder ) {var theform = eval( placeholder )var lengthleft = maxlength-theform.value.lengthvar placeholderobj = document.all ? document.all[placeholder] : document.getElementById( placeholder )if ( window.event || e.target&&e.target == eval( placeholder ) ){if ( lengthleft < 0 )theform.value = theform.value.substring( 0 , maxlength )placeholderobj.innerHTML = lengthleft}}function MostraLimite( theform,thelimit ) {var limit_text = '<span id="'+theform.toString()+'" style="font-family:Tahoma; font-size:11px; color:#990000">'+thelimit+'</span><span style="font-family:Tahoma; font-size:11px; color:#990000"> caracteres restantes.</span>'if ( document.all || ns6 )document.write( limit_text )if ( document.all ) {eval( theform ).onkeypress = function(){ return RestringeInput( thelimit,event,theform )}eval( theform ).onkeyup = function(){ ContaLimite( thelimit,event,theform ) }} else if ( ns6 ) {document.body.addEventListener( 'keypress', function( event ) { RestringeInput( thelimit , event , theform ) }, true );document.body.addEventListener( 'keyup', function( event ) { ContaLimite( thelimit , event , theform ) }, true );}}</script>

Para chamar, fiz assim:

 

Mensagem: <br> <textarea name="campo" cols="37" rows="12" id="campo"></textarea><script>MostraLimite(document.nome_form.elements["campo"],100) //100 = quantidade de caracteres permitidos.</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então troque essa linha:MostraLimite(document.nome_form.elements["campo"],100)Por essa:MostraLimite(document.form.elements["campo"],100)E outra coisa, o textarea tem que estar dentro do form...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.