Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/02/2013, 10:04
brnb8626
 
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: calcular fin de linea en textarea

al parecer no me entendieron

tengo el siguiente codigo
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript">

function limitaLinea(id){
	var obj=document.getElementById(id);
	var vlr=obj.value.split('');
	var cnt=1;
	var rows=obj.rows;
	var key = window.event.keyCode || window.event.which;
	for(i=0;i<vlr.length;i++)
		if(vlr[i]=="\n" || vlr[i]=="\r")
			cnt++;
	if(cnt>=rows && (key==10 || key==13))
		return false;
	else
		return true;
}
</script>
</head>
<body>
<textarea id="area" onkeypress="return limitaLinea(id)" rows="3" cols="1" style="width:250px"></textarea>
</body>
</html> 
la funcion recibe el id del texarea, obtenemos su contenido y la propiedad rows
el contenido se guarda en un arreglo cuando el usuario presiona una tecla se recorre el arreglo y cuenta los \n o \r
si el contador(cnt) llega a ser = o mayor que rows retorna un false y evitamos que se siga escribiendo

para los que no saben:
\n = nueva linea
\r = retorno

pero esta funcion no funciona cuando el usuario sigue escribiendo y nunca presiona la tecla enter
lo que busco es calcular el fin de la linea para agregar un \n y evitar que siga escribiendo despues de los rows establecidos en el texarea

espero aberme explicado mejor