Guest - eduardo - Postado Julho 4, 2004 Denunciar Share Postado Julho 4, 2004 ae galera eu tava precisando de um codigo que faça o seguinte..logica..cont=100var = 100 - caixa_de_texto.lengthse var = 0 entãobloqueia pro usuário não digitar maisend-seisso no onkeyup ou no onchange de uma textarea, pra fazer a funçao de um "maxlength", alguém me ajuda ae em javascript?valeu então, flws Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 4, 2004 Denunciar Share Postado Julho 4, 2004 A gente ajuda à vontade mano... Mas só tem um negócio, a gente não tá aqui pra fornecer script, e pra ajudar... você já tentou algum código ?! Se tentou terei prazer em ajudá-lo a aprimorar/consertar... Senão ... Acho que você tinha que tentar Abraços, e desculpe se fui rude ou algo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - eduardo - Postado Julho 4, 2004 Denunciar Share Postado Julho 4, 2004 claro q eu tentei...<script language="javascript"><!-- function mostra_len() { document.envia_dados.caracteres.value=1500-document.envia_dados.msg.value.length; } { if (document.envia_dados.msg.length = 1500) { document.envia_dados.msg.value = document.envia_dados.msg.value.substring(0, 1500); } }//--> </script></font> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 4, 2004 Denunciar Share Postado Julho 4, 2004 Velho: você errou no operador ! Tem que ser assim: if (document.envia_dados.msg.length == 1500)Abraços ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - eduardo - Postado Julho 4, 2004 Denunciar Share Postado Julho 4, 2004 <script language="javascript"><!-- function mostra_len() { document.envia_dados.caracteres.value=1000-document.envia_dados.msg.value.length; } { if (document.envia_dados.msg.length == 1000) { document.envia_dados.msg.value = document.envia_dados.msg.value.substring(0, 1000); } }//--> </script>não funcionouta passando de 1000 o length e não ta travando pro cara não digitar mais ;( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 5, 2004 Denunciar Share Postado Julho 5, 2004 você atribuiu a função à algum evento ?! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - eduardo - Postado Julho 5, 2004 Denunciar Share Postado Julho 5, 2004 sim, ao onkeyup da caixa.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 cara não sei se é isso maz...tenta ae... <script language="javascript"> function aruma() { if (document.form1.campo.value.length>=100) { window.alert("você não pode digitar mais q 100 Caracteres!"); document.form1.campo.disabled=true; } } </script> <html> <form name="form1"> <textarea name="campo" onKeydown="aruma();" rows="20" cols="100" maxlength="100"> </textarea> </form> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - eduardo - Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 não é isso nãonão seria interessante desabilitar, pois o usuario poderia fazer alteração depois, e sim parar no valor "determinado", fazendo com que ele não consiga digitar nenhum caracter além..Um Exemplo?o sms da OI www.oi.com.br , tem o contador embaixo, quando chega a 0 o cara não consegue mais digitar, sem desabilitar a textarea...Valeu ae, flwssss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Olha cara, aqui vai pra vc, eu acabei de fazer, deve ter algum bug <html> <head> <script language="JavaScript"> <!-- //by john doe var create1; var noForm=false; function caracteres(inp1,inp2,max){ var mInp1 = (document.layers)?"document.layers[inp1]":"document.all[inp1]"; var mInp2 = (document.layers)?"document.layers[inp2]":"document.all[inp2]"; if(document.all){ eval(mInp1+".maxLength=max"); } mInp1len = eval("(max-1)-parseInt("+mInp1+".value.length)"); if(mInp1len>=0){ eval(mInp2+".value='"+mInp1len+"'"); } else{ if(document.layers){ eval(mInp1+".value="+mInp1+".value.substring(0,max)"); } } } --> </script> </head> <body> <input type="text" onkeydown="caracteres('jInp1','jInp2',10)" name="jInp1"><br /> <input type="text" onfocus="this.blur()" name="jInp2" size="1"> </body> </html> Ali onde tem a função caracteres, usa assim: caracteres('nome_do_input_principal','nome_do_input_dos_caracteres',maximo_de_caracteres_sem_aspas);Sacou ?!?!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 bom, eu pensei que era akilo! mas da nada o Moderador já resolveu o teu problema! fallou... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - pasp - Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 não entendi nada cara...sou iniciante..me desculpe, mas teria como você me dar uma clareada? dar uma comentada nas linhas?Bom desde já agradeço a tua compreensão, mas prefiro aprender do q pegar teu codigo e não entender nada ;(valeu, Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 John Doe,porque esse código não funciona com um <TEXTAREA> ? você testou?Eu tava tentando montar um que fizesse isso... mas quando é textarea, não bloqueia! Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 <html> <head> <script language="JavaScript"> <!-- //by john doe var create1; var noForm=false; function caracteres(inp1,inp2,max){ /* Abaixo verifica a compatibilidade */ var mInp1 = (document.layers)?"document.layers[inp1]":"document.all[inp1]"; var mInp2 = (document.layers)?"document.layers[inp2]":"document.all[inp2]"; if(document.all){ /* Se o navegador for IE4+ e o tipo de input for Text , ele define o maxLength para o máximo definido acima, no argumento da função :)*/ if(eval(mInp1+".type=='text'")){ eval(mInp1+".maxLength=max"); } } /* Aqui ele subtrai o máximo de caracteres do número de caracteres digitados */ mInp1len = eval("(max-1)-parseInt("+mInp1+".value.length)"); /* se o número acima for maior ou igual a zero, vai colocar o número no input 2 , onde ficam os caracteres que faltam */ if(mInp1len>=0){ eval(mInp2+".value='"+mInp1len+"'"); return true; } /* se não, vai bloquear o textarea */ else { if(document.layers){ eval(mInp1+".value="+mInp1+".value.substring(0,max)"); } if(document.all && eval(mInp1+".tagName=='TEXTAREA'")){ event.returnValue = false; } } } --> </script> </head> <body> <textarea onkeydown="return caracteres('jInp1','jInp2',10)" name="jInp1"></textarea> <br /> <input type="text" onfocus="this.blur()" name="jInp2" size="1"> </body> </html> Agora sim tá completo E...o script só está um pouco confuso por causa do eval(), mas tá bem facil de entender Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 Legal, cara!Muito obrigado, mesmo... mas, sem querer ser chato, olha o que eu notei: se você digita 10 caracteres e tenta apagar com as teclas <DELETE> ou <BACKSPACE>, ele não aceita... Vou estudar esse script e tentar mudar isso... obrigado, mais uma vez!Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - eduardo - Postado Julho 8, 2004 Denunciar Share Postado Julho 8, 2004 john,mas quando chega no limite (= 0;) ele trava o teclado não deixa deletar os caracteres nem nada.. o interessante seria só barrar quando chegar ao 0 e não travar o tecladoUm Abraço Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John Doe Postado Julho 8, 2004 Denunciar Share Postado Julho 8, 2004 É...percebi isso agora Vo tentar achar a solução...Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 leo71 Postado Julho 8, 2004 Denunciar Share Postado Julho 8, 2004 Tenta assim:no BODYONKEYDOWN="para()"no HTML<TEXTAREA NAME=mns></TEXTAREA><TEXTAREA NAME=hiddenv STYLE="visibility:hidden"></TEXTAREA>no JSmaximo = 150function para(){if(mns.value.length >= maximo){hiddenv.focus()}}Ou seja, ao Digitar o Maximo Possivel o cursor irá a caixa invisivel, no caso será um bloqueador, hehehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tavinho Postado Julho 8, 2004 Denunciar Share Postado Julho 8, 2004 Caros Amigos !Este código resolve o problema !Ele limita a digitação na TextArea e não bloqueia as teclas DELETE E BACKSPACE.Para alterar o limite de caracteres digitados basta editas as duas ultimas linhas, onde estão os numeros 125. <script LANGUAGE="JavaScript"> function textCounter(field, countfield, maxlimit) { if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter else countfield.value = maxlimit - field.value.length; } </script> <center> <form name=myform action="#"> <font size="1" face="arial, helvetica, sans-serif"> ( Você deve entrar algum comentário de no máximo 125 caracteres. )<br> <textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"> Espero ter ajudado !!Um Abraço a todos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Julho 8, 2004 Denunciar Share Postado Julho 8, 2004 tavinho... ta dandu pau esse teu script. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tavinho Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Que estranho !Aqui ta funcionando direitinho !Mas beleza, ta aqui ele de novo tenta agora ... Limitar uma text área <script LANGUAGE="JavaScript"> <!-- Begin function textCounter(field, countfield, maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter else countfield.value = maxlimit - field.value.length; } // End --> </script> <center> <form name=myform action="#"> <font size="1" face="arial, helvetica, sans-serif"> ( Você deve entrar algum comentário de no máximo 125 caracteres. )<br> <textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"> Um abraço e qualquer coisa posta aeee... Falowww Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 tah dando erro na linha 7 "countfield"cara tinha que mudar algo no fonte? eu so colei num txt e salvei como .html!Fallou.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tavinho Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Não sei o que pode estar havendo !Tenho uma pasta aqui com muitos Scripts, e apenas peguei o fonte da mesma maneira, que esta na página...Ah e fiz o mesmo processo que vc, copiei e colei o codigo do forum e salvei como .html e funcionou direitinho...Não sei o que pode estar havendo não ...Mas se você descobrir, posta aee o motivo, porque aqui ta perfeito ...Alias, alguém mais testou o código ? se testou ta funcionado ou dando erro ?Um abraço FalowwwwPs: ( Dmetallica - Se você quiser te mando a página por e-mail...) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 manda então...vamos ver ...qual era! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tavinho Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Caraca !!Acabei de notar a mancada que eu dei .. hehehTinha mesmo um erro no código, mas já corrigi o danado...Desta vez não tem erro ... <script language="JavaScript"> <!-- Begin function textCounter(field, countfield, maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter else countfieldvalue = maxlimit - field.value.length; } // End --> </script> <center> <form name=myform action="#"> <font size="1" face="arial, helvetica, sans-serif"> ( Você deve entrar algum comentário de no máximo 125 caracteres. )<br> <textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"> Só para esclarecer na linha 10, o erro que ele acusava era por causa de um simples ponto Veja a linha erradacountfield.value = maxlimit - field.value.length;Veja a linha correta countfieldvalue = maxlimit - field.value.length;Agora sim ...Foi mal pessoal...Um abraço a todos Falowwwww Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - eduardo -
ae galera eu tava precisando de um codigo que faça o seguinte..
logica..
cont=100
var = 100 - caixa_de_texto.length
se var = 0 então
bloqueia pro usuário não digitar mais
end-se
isso no onkeyup ou no onchange de uma textarea, pra fazer a funçao de um "maxlength", alguém me ajuda ae em javascript?
valeu então, flws
Link para o comentário
Compartilhar em outros sites
24 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.