Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2014, 09:47
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 7 meses
Puntos: 1
problema contador en textarea

hola que tal?

tengo un problema con un textarea con el que con jquery le he hecho un contador, el contador al llegar a 0 deberia de no dejar introducir mas caracteres en el textarea, es decir empieza el contador en 255 y va hasta 0, pero resulta que cuando llega a 0 sigue con numeros negativos, que tengo que cambiarle para que el llegar el contador a 0 deje de poder insertar más caracteres.

un saludo

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3.     <title></title>
  4. </head>
  5. <body>
  6.  
  7.     <form action="#" method="post" id="formurecopilar" name="formure"  autocomplete="off"  onsubmit="return validarrecopilar()">
  8.         <table>
  9.             <tr>
  10.                 <td>¿Que tienes en tu mente?</td>
  11.                 <td><textarea name="inforecopilar" id="ta" rows="4" cols="60"  data-maximo="55"></textarea></td>
  12.             </tr>
  13.            
  14.         </table>
  15.         <input type="submit" name="submit" id="botonrecopilar" value="Recopilar" />
  16.         </form>
  17.  
  18. <div id="mensaje">255</div>
  19.  
  20. <script src="http://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
  21. <script>
  22. var ta = $("#ta");
  23. var cuenta = $("<div>Llevas escritos <span></span> caracteres</div>");
  24. cuenta.insertAfter(ta);
  25. calcularCaracteresTextarea(ta);
  26.  
  27.  
  28. function calcularCaracteresTextarea(ta)
  29. {
  30.   var contador = 55;
  31.   var num = ta.val().length;
  32.   var cont = contador - num;
  33.   var cuenta = ta.next();
  34.  
  35.   cuenta.find("span").text(cont);
  36.  
  37. }
  38.  
  39. ta.on("keypress", function(e){
  40.   var ta = $(this);
  41.   var max = -1;
  42.   acumulaMensaje(e.which);
  43.   calcularCaracteresTextarea(ta);
  44.   if(ta.val().length == max && (e.which!=0 && e.which!=8)){
  45.     e.preventDefault();
  46.   }
  47. });
  48.  
  49. ta.on("keyup", function(){
  50.   var ta = $(this);
  51.   calcularCaracteresTextarea(ta);
  52. });
  53.  
  54.  
  55.  
  56.  
  57. </script>
  58. </body>
  59.  
  60.  
  61. </html>&#65279;