mestre fyoda Postado Julho 15, 2007 Denunciar Share Postado Julho 15, 2007 <html> <head> <style type="text/css"> @import "css/estilo.css"; </style> <script src="js/ajax.js"> </script> <script> function Contar(Campo){ var valor = 200-Campo.value.length; document.getElementById("quantidade").innerText = "Faltam " + valor + " caracters"; if((200-Campo.value.length)==0) alert('Atenção, você atingiu o limite máximo de caracteres!'); } </script> </head> <body> <form action="gravar_msg.php" method="POST" name="form" id="form"> <ul> <li class="texto"> <div id="cadastra"></div> </li> <li class="texto"> <br /><br /> <div align="center">Para : <input type="text" name="para" id="para" class="caixa" /> </div></li> <li class="texto"> <br /><br /> <div align="center">Mensagem : </div><div align="center"><textarea name="msg" rows="6" cols="50" class="caixa" onKeyUp="Contar(this);" maxlenght="200" ></textarea> </div> </li> <li class="texto"> <br /><br /> <div id="quantidade"> 200 </div> </li> <li class="texto"> <br /><br /> <div align="center"> Mostrar para todos: <input type="checkbox" name="visivel" id="visivel" checked /> </div></li> <li class="texto"> <br /><br /> <div align="center"> <input type="button" value="Enviar" onclick="ajaxForm('cadastra','form');"> </div></li> </ul> </form> </body> </html>Esse codigo tem um problema, quando o usuario segura alguma tecla e passa o valor total não para, como eu faço ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Julho 15, 2007 Denunciar Share Postado Julho 15, 2007 Troque onKeyUp por onKeyDown.Só não consegui desabilitar o textarea... JavaScript não é de meu domínio... hehe Se alguém souber como fazer, será útil para mim também. ;)Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Julho 15, 2007 Autor Denunciar Share Postado Julho 15, 2007 (editado) <script> function getObject(obj) { var theObj; if(document.all) { if(typeof obj=="string") { return document.all(obj); } else { return obj.style; } } if(document.getElementById) { if(typeof obj=="string") { return document.getElementById(obj); } else { return obj.style; } } return null; } //Contador de caracteres. function Contar(entrada,saida,texto,caracteres) { var entradaObj=getObject(entrada); var salidaObj=getObject(saida); var longitud=caracteres - entradaObj.value.length; if(longitud <= 0) { longitud=0; texto='<span class="disable">'+texto+'</span>'; entradaObj.value=entradaObj.value.substr(0,caracteres); } salidaObj.innerHTML = texto.replace("{CHAR}",longitud); } </script> <textarea name="msg" rows="6" cols="50" class="caixa" onKeyUp="Contar('msg','quantidade','{CHAR} caracteres restantes.',200);"> ></textarea> Editado Julho 15, 2007 por mestre fyoda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 15, 2007 Denunciar Share Postado Julho 15, 2007 <HTML> <HEAD> <TITLE>Demo cortesia www.phpdemos.com.br</TITLE> <script language="Javascript"> function counterUpdate(opt_countedTextBox, opt_countBody, opt_maxSize) { var countedTextBox = opt_countedTextBox ? opt_countedTextBox : "counttxt"; var countBody = opt_countBody ? opt_countBody : "countBody"; var maxSize = opt_maxSize ? opt_maxSize : 1024; var field = document.getElementById(countedTextBox); if (field && field.value.length >= maxSize) { field.value = field.value.substring(0, maxSize); } var txtField = document.getElementById(countBody); if (txtField) { txtField.innerHTML = field.value.length; } } </script> </HEAD> <BODY> <p>Demo cortesia: <a href="www.phpdemos.com.br" target="_blank">www.phpdemos.com.br</a> </p> <p> <textarea id="counttxt" name="counttxt" rows="10" onKeyUp="counterUpdate('counttxt', 'countBody','30');"></textarea> <br> Você digitou <B><span id="countBody">0</span></b> caracteres - Limite: 30 Chars </p> <p>Autor: <a href=" http://www.websewak.com/" target="_blank"> http://www.websewak.com/</a> </p> </BODY> </HTML> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Julho 15, 2007 Autor Denunciar Share Postado Julho 15, 2007 ESerra corrija ai seu codigo, pois achei um bug :) se eu passar dos 30 caracters segundo uma tecla e depois eu clicar bo botao ele perde o foco e fica com o campo textarea com mais de 30 caracters, alem da onkeyup, também coloque um onblur.<textarea id="counttxt" name="counttxt" rows="10" onKeyUp="counterUpdate('counttxt', 'countBody','30');" onblur=""counterUpdate('counttxt', 'countBody','30');""></textarea> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 15, 2007 Denunciar Share Postado Julho 15, 2007 O código não é meu (por isso os créditos originais)... usei ele num negócio um tempo atrás... mas vou mudar conforme a sua indicação ;) . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Julho 15, 2007 Autor Denunciar Share Postado Julho 15, 2007 (editado) eu sei, quando eu digitei seu codigo, eu naome expressei muito bem, eu quiz dizer o codigo que você postou :).Para esses tipos de testes eu sou bom :).Os dois codigos estão com erros no firefox :Erro: field has no properties txtField.innerHTML = field.value.length; Editado Julho 15, 2007 por mestre fyoda Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mestre fyoda
Esse codigo tem um problema, quando o usuario segura alguma tecla e passa o valor total não para, como eu faço ?
Link para o comentário
Compartilhar em outros sites
6 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.