Foros del Web » Programando para Internet » Javascript »

Error en contador de caracteres de campo de formulario

Estas en el tema de Error en contador de caracteres de campo de formulario en el foro de Javascript en Foros del Web. Holas! Estuve haciendo un contador de caracteres de un campo de formulario, y que mostrara la cantidad de caracteres faltantes en un div o span. ...
  #1 (permalink)  
Antiguo 14/03/2007, 17:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Error en contador de caracteres de campo de formulario

Holas!

Estuve haciendo un contador de caracteres de un campo de formulario, y que mostrara la cantidad de caracteres faltantes en un div o span.

El código es el siguiente:

contador.js:
Código:
function contador (maxim)
{
   this.maximo = maxim;
   this.div;
   this.campo;
   
   this.contar = function()
   {
	  this.div.innerText = maxim-obj.value.length;
	  if (this.campo.value.length==this.maximo)
	  {
	     return false;
	  }
	  else
	  {
	     return true;
	  }
   }
}
Después lo mando a llamar:

Código:
<script>
lugar = new contador(20);
lugar.campo = document.getElementById('lugar');
lugar.div = document.getElementById('lugardiv');
</script>

<p>
<input id="lugar" name="lugar" type="text" value="" onKeyPress="return lugar.contar();"> 
Disponibles: <span id="lugardiv">20</span>
Pero no funciona, y el browser solo me dice que el error está en:

Código:
<input id="lugar" name="lugar" type="text" value="" onKeyPress="return lugar.contar();">
Pero no logro identificar el error, ¿alguna sugerencia?
  #2 (permalink)  
Antiguo 14/03/2007, 17:22
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Error en contador de caracteres de campo de formulario

por lo que veo contar no es una funcion, es un boolean.

Asi que sobran los parentesis de:

onKeyPress="return lugar.contar();"

ponlo asi:

onKeyPress="return lugar.contar;">

Pruebalo y nos cuentas.

Saludos.
  #3 (permalink)  
Antiguo 14/03/2007, 17:38
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Error en contador de caracteres de campo de formulario

De la siguiente manera funciona:

Código PHP:
function contador(maxim)
{
   
this.maximo maxim;
   
this.div;
   
this.campo;
   
   
this.contar = function()
   {
      
this.div.innerHTML maxim-this.campo.value.length;
      if (
this.campo.value.length==this.maximo)
      {
         return 
false;
      }
      else
      {
         return 
true;
      }
   }

ahora la inicialiazacion del objeto:

Código PHP:
function pruebaCargar(){
lugar = new contador(20);
lugar.campo document.getElementById('lugar');
lugar.div document.getElementById('lugardiv');

ahora cargamos esta ultima funcion:

Código HTML:
<body onload="pruebaCargar()"> 
El resto de HTML lo dejas como lo tenias y te deberia de funcionar.

Saludos.
  #4 (permalink)  
Antiguo 14/03/2007, 17:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error en contador de caracteres de campo de formulario

Cita:
Iniciado por wigglyUtrera Ver Mensaje
por lo que veo contar no es una funcion, es un boolean.

Asi que sobran los parentesis de:

onKeyPress="return lugar.contar();"

ponlo asi:

onKeyPress="return lugar.contar;">

Pruebalo y nos cuentas.

Saludos.
Sigue sin funcionar =(
  #5 (permalink)  
Antiguo 14/03/2007, 17:48
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Error en contador de caracteres de campo de formulario

Me acabo de dar cuenta que sólo funciona en Firefox. En IE no funciona, por lo menos en la version 7.

Si lo pones asi funciona en los dos:

Código PHP:
function caracteres(tam,idtexto,iddiv){
var 
ret false;
var 
campo =  document.getElementById(idtexto);
var 
div =  document.getElementById(iddiv);
div.innerHTML tam-campo.value.length;
      if (
campo.value.length==tam)
      {
         return 
false;
      }
      else
      {
         return 
true;
      }

y en el HTML

Código HTML:
<input id="lugar" name="lugar" type="text" value="" onKeyPress="return caracteres(20,'lugar','lugardiv');"> 
Disponibles: <span id="lugardiv">20</span> 
La funcion esta puesta para que sea portable a otras situaciones. Si solo lo vas a utilizar en esa capa y con ese campo de texto, puedes quitarle los dos ultimos parametros y definirlos dentro de la funcion.


Saludos.
  #6 (permalink)  
Antiguo 14/03/2007, 17:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error en contador de caracteres de campo de formulario

Cita:
Iniciado por wigglyUtrera Ver Mensaje
De la siguiente manera funciona:

....

El resto de HTML lo dejas como lo tenias y te deberia de funcionar.

Saludos.
Tampoco funcionó =(

Saludos.
  #7 (permalink)  
Antiguo 14/03/2007, 17:53
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Error en contador de caracteres de campo de formulario

La ultima funcion que te he puesto no pone el numero de caracteres que estan disponible si borras. Decrementa por cada caracter introducido pero no incrementa al introducir.

Saludos.
  #8 (permalink)  
Antiguo 14/03/2007, 18:00
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error en contador de caracteres de campo de formulario

Ya resolví

Muchas Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:43.