Foros del Web » Programando para Internet » Javascript »

Como crear un alert luego de limitar caracteres en un textarea

Estas en el tema de Como crear un alert luego de limitar caracteres en un textarea en el foro de Javascript en Foros del Web. Hola que tal, Tengo el siguiente codigo: Código HTML: <HTML> <head> <TITLE> Alertar caracteres al llegar a 100 </TITLE> <SCRIPT LANGUAGE= "JavaScript" > <!-- Begin ...
  #1 (permalink)  
Antiguo 05/07/2006, 00:16
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años, 1 mes
Puntos: 0
Pregunta Como crear un alert luego de limitar caracteres en un textarea

Hola que tal,
Tengo el siguiente codigo:
Código HTML:
<HTML>
<head>
<TITLE> Alertar caracteres al llegar a 100 </TITLE>
<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>
</head>

<body>
<textarea name="PreguntaClave" wrap=physical cols="73" rows="5" 
class="CampoForm" id="PreguntaClave" 
onKeyDown="textCounter(this.form.PreguntaClave,this.form.remLen,100);" 
onKeyUp="textCounter(this.form.PreguntaClave,this.form.remLen,100);">
</textarea>
<input readonly type=text name=remLen size=3 maxlength=3 value="100">
</body>
</HTML> 

Como pueden observar ese codigo limitara y contara que dentro del textarea solo se puedan escribir 100 Caracteres.

Mi pregunta es, como puedo aparte de limitar y contar los caracteres, agregar un alert() al momento que lleguen a 100 caracteres, osea que salte un alert avisandole que ya ocuparon sus 100 caracteres.

Muchas gracias y saludos!
__________________
ChilenoCesar Looking for something new...
  #2 (permalink)  
Antiguo 05/07/2006, 04:59
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola CHILENOCES,

creo que agregando esta linea ya podrás mostrar el alert:

Código:
 
if (field.value.length > maxlimit) {
field.value = field.value.substring(0, maxlimit); 
alert("maximo alcanzado")
}
else {
countfield.value = maxlimit - field.value.length;
}

 
__________________

  #3 (permalink)  
Antiguo 05/07/2006, 05:05
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

Código HTML:
<html>
<head>
<script language="JavaScript">
 function ikusi()
  {
   var ta2=document.getElementById("ta");
   if(ta.value.length>100)
    {
     ta2.value=ta2.value.substr(0,100);
     alert("Maximo de caracteres es 100");
    }
  }
</script>
</head>
<body>
<textarea id="ta" onKeyUp="ikusi()"></textarea>
</body>
</html> 
Mira este codigo y lo adaptas a tu codigo, lo que hace es mandarte un mesaje de alerta cuando lleges a los 100 y te guarda el valor en el textarea de solo los 100 primeros.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #4 (permalink)  
Antiguo 05/07/2006, 07:38
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años, 1 mes
Puntos: 0
Hola,
Primero que nada muchas gracias a ambos por las respuestas.

Lo que pasa es lo siguiente:
1.- La primera respuesta no sale, es lo mismo que habia tratado yo de todos modos muchas gracias.

2.- La segunda pregunta sale pero tiene un problema:

Este es el codigo original

Código HTML:
<html>
<head>
<script language="JavaScript">
 function ikusi()
  {
   var ta2=document.getElementById("ta");
   if(ta.value.length>100)
    {
     ta2.value=ta2.value.substr(0,100);
     alert("Maximo de caracteres es 100");
    }
  }
</script>
</head>
<body>
<textarea id="ta" onKeyUp="ikusi()"></textarea>
</body>
</html> 
Pero cuando uno agregar la etiqueta <form> deja de funcionar ej:

Código HTML:
<html>
<head>
<script language="JavaScript">
 function ikusi()
  {
   var ta2=document.getElementById("ta");
   if(ta.value.length>100)
    {
     ta2.value=ta2.value.substr(0,100);
     alert("Maximo de caracteres es 100");
    }
  }
</script>
</head>
<body>
<form name="F" method="post" action="procesar.asp">
<textarea id="ta" onKeyUp="ikusi()"></textarea>
</form>
</body>
</html> 
Ojala tenga solucion ya que lo necesito urgente!!!

Muchisimas gracias!!!
__________________
ChilenoCesar Looking for something new...
  #5 (permalink)  
Antiguo 05/07/2006, 08:57
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

Código HTML:
<html>
<head>
<script language="JavaScript">
 function ikusi()
  {
   var tar2=document.f.ta;
   var luzera=tar2.value.length;
   if(luzera>5)
    {
     tar2.value=tar2.value.substr(0,5);
     alert("Maximo de caracteres es 5");
    }
  }
</script>
</head>
<body>
<form name="f" id="f" method="post" action="procesar.asp">
<textarea name="ta" id="ta" onKeyUp="ikusi()" onChange="ikusi()"></textarea>
</form>
</body>
</html> 
el problema es que en IE no hace onKeyUp, pero onChange si hace, de todas formas en firefox hace todo bien ;)

donde pone 5 cambia a 100 ya que para hacer pruebas no voy a utilizar 100 ;)

espero que te sirva.

Bueno ahora me voy a jugar a eskupelota YEAH!!!

EDITO:

Si funciona en Internet Explorer, donde no funciona es en IE tab de firefox, que es una extension que te abre las paginas web como si navegaras con internet explorer, para hacer este tipo de cosas y para entrar a webs donde solo puedas entrar con internet explorer.

Eso es todo, solucionado entonces ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Última edición por ZiTAL; 05/07/2006 a las 09:05
  #6 (permalink)  
Antiguo 05/07/2006, 09:14
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

puedes prescindir de id si quieres, funciona de tomas formas ya que toma el valor de name, codigo final:

Código HTML:
<html>
<head>
<script language="JavaScript">
 function ikusi()
  {
   var tar2=document.f.ta;
   var luzera=tar2.value.length;
   if(luzera>100)
    {
     tar2.value=tar2.value.substr(0,100);
     alert("Maximo de caracteres es 100");
    }
  }
</script>
</head>
<body>
<form name="f" method="post" action="procesar.asp">
<textarea name="ta" onKeyUp="ikusi()" onChange="ikusi()"></textarea>
</form>
</body>
</html> 
si no entienes algo, puedes decirlo y te lo explico ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 20:35.