Foros del Web » Programando para Internet » Javascript »

Limitar caracteres y saltos de linea

Estas en el tema de Limitar caracteres y saltos de linea en el foro de Javascript en Foros del Web. Hola, Tengo un formulario web en el que tengo un textarea y necesito limitar el número de caracteres a 1200 y los saltos de línea. ...
  #1 (permalink)  
Antiguo 05/03/2007, 17:09
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 8 meses
Puntos: 0
Limitar caracteres y saltos de linea

Hola,

Tengo un formulario web en el que tengo un textarea y necesito limitar el número de caracteres a 1200 y los saltos de línea.

De momento puedo controlar el número de caracteres de esta manera:

Antes del body incluyo este script:

<script LANGUAGE="JavaScript">
<!-- Begin
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // cortar si excede el límite
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
// End -->
</script>


Luego dentro del form este textarea y el area de texto con el contador:

<textarea name="texto" cols="50" rows="7" class="recuadrotexto" id="text" onkeydown="textCounter(this.form.texto,this.form.r emLen,1200);" onkeyup="textCounter(this.form.texto,this.form.rem Len,1200);"></textarea>
<input readonly type="text" name="remLen" size="4" maxlength="4" value="1200">



Bueno, me gustaría controlar seguir haciendo esto mismo de modo que al introducir un salto de línea se resten 60 caracteres al total restante.
¿Es posible hacerlo?

Gracias por anticipado.

Última edición por koaxial; 05/03/2007 a las 17:26
  #2 (permalink)  
Antiguo 05/03/2007, 22:27
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Limitar caracteres y saltos de linea

Solo acuerdate que el salto de linea es un caracter ("\n"), ahi està la respuesta.
  #3 (permalink)  
Antiguo 06/03/2007, 02:52
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Limitar caracteres y saltos de linea

Hola koaxial

Este mensaje te puede ayudar:

http://www.forosdelweb.com/f13/textarea-con-maximo-lineas-escribir-454360/

Saludos,
  #4 (permalink)  
Antiguo 06/03/2007, 05:15
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: Limitar caracteres y saltos de linea

Muchísimas gracias por la ayuda!!
  #5 (permalink)  
Antiguo 07/03/2007, 13:23
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: Limitar caracteres y saltos de linea

He seguido haciendo pruebas y resulta que no funciona tal y como pensaba...
el problema es que tengo pocos conocimientos de javascript y probablemente no lo estaré haciendo bien...

Lo que necesito realmente no es sólo que se cuenten los saltos de línea introducidos en el textarea sino también limitarlo de modo que no se puedan haber más de 20 líneas incluso pegando un texto.

He visto que con el script que muestro al principio cuenta los caracteres y los limita perfectamente a 1200, incluso pegando un parrafo de texto. Pues aparte de esto necesito lo mismo, pero controlando el número de líneas para que nunca pueda haber más de 20.

¿Cómo puedo hacerlo? He intentado modificar el código javascript, pero no funciona.

Gracias por anticipado.
  #6 (permalink)  
Antiguo 08/03/2007, 06:39
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: Limitar caracteres y saltos de linea

Voy a aclarar un poco lo que necesito, tal vez no sea posible.

Necesito un textarea, por ejemplo con una altura de 20 filas. Bien pues lo que necesito es que ya sea por saltos de línea o pegando un parrafo de texto, el textarea no admita más texto una vez sobrepasadas las 20 filas del textarea.
  #7 (permalink)  
Antiguo 08/03/2007, 07:02
 
Fecha de Ingreso: agosto-2005
Mensajes: 10
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Limitar caracteres y saltos de linea

Los caracteres sí puedes limitarlos, pero los saltos de línea, a no ser que los introduzca expresamente un usuario (dándole al intro, me referiero, no al salto de línea que se produce cuando el texto supera la anchura del textarea).

Si deseas contar el número de saltos de linea introducidos por el usuario, puedes optar por algo así:

<textarea id="txtesc" cols="20" rows="10" onKeyUp="cuenta(this)"></textarea>

function cuenta(obj)
{ var valor=obj.value;
var arrsep=valor.split(String.fromCharCode(13,10));
if(arrsep.length>20)
{var donde=valor.lastIndexOf(String.fromCharCode(13,10) );
obj.value=valor.substring(0,donde);
}
}

Pero vamos, la verdad, tampoco tiene demasiado sentido contar filas, sino carácteres para evitar que supere el tamaño de un campo.

Salu2
  #8 (permalink)  
Antiguo 08/03/2007, 17:06
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: Limitar caracteres y saltos de linea

Efectivamente es verdad que no tiene mucho sentido contar los saltos de línea... ¿En todo caso sí sería posible contar las líneas ateniéndose cuando el texto supera la anchura del textarea?
  #9 (permalink)  
Antiguo 08/03/2007, 19:43
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Limitar caracteres y saltos de linea

Yo creo que si tiene sentido contar los saltos de línea, pero, no mucho, en todo caso si ud. ha podido contar los caracteres y los saltos de línea entonces tiene que definir la lógica con la que estas dos variables van a definir el límite del texto.

Por ejemplo si ud. quiere que tengan 1200 caracteres o 20 saltos de línea como máximo entonces la lógica sería así:

txt = formulario.textarea.value;
len = txt.length-1;

if (ncar >= 1200 || nsal >= 20) fomulario.textarea.value = var.substring(0,len);

Logicamente formulario y textarea son los nombres del formulario (si existiera) y del textarea.

Este script no está comprobado y sólo se lo he puesto para decirle que si se puede, pero como que no tiene total sentido, cuando uno manda mensaje de texto a celulares por la web solo le restringuen el número de carácteres, no los saltos de línea.
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 13:54.