Foros del Web » Programando para Internet » Javascript »

Lineas textarea

Estas en el tema de Lineas textarea en el foro de Javascript en Foros del Web. Buenas, necesito obtener con javascript el número de lineas que tiene un textarea. ¿Cómo podría hacerlo? Saludos!...
  #1 (permalink)  
Antiguo 23/02/2012, 12:08
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1.242
Antigüedad: 14 años
Puntos: 73
Lineas textarea

Buenas, necesito obtener con javascript el número de lineas que tiene un textarea. ¿Cómo podría hacerlo?

Saludos!
__________________
:)
  #2 (permalink)  
Antiguo 23/02/2012, 12:25
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 9 meses
Puntos: 4
Respuesta: Lineas textarea

se me ocurre algo asi:

Código:
<html>
<head>
<title>Página de ejemplo</title>

<script language="javascript">
function contar(){
	var aLineas = document.getElementById("tarea").value.split('\n');
	alert("El textarea tiene " + aLineas.length + " líneas");
}

</script>
</head>
<body>

<textarea id="tarea" cols="200" rows="4"></textarea>
<input type="button" value="contar lineas textarea" onclick="javascript: contar();" />

</body></html>
recoges los valores de la cadena dividida (dividiendo en sub-cadenas donde encuentre saltos de linea) y los pones en un array. Ya solo resta contar los items de dicho array

saludos
  #3 (permalink)  
Antiguo 23/02/2012, 14:07
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Lineas textarea

Otra opción (porque a veces la aparición de un renglón puede deberse al flujo normal del texto en relación al ancho del contenedor y no sólo a los saltos de línea), sería calcular el alto total del área scrolleable sobre el alto de línea:
Código PHP:
<!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>
<
style>
textareawidth:80pxheight:50pxline-height:15pxfont-size:12px;}
</
style>
<
script type="text/javascript">
function 
getCSS(o,prop){
    if(
window.getComputedStyle){
        return 
document.defaultView.getComputedStyle(o,null).getPropertyValue(prop); 
    }else{ 
        var 
re = /(-([a-z]){1})/g
        if (
prop == 'float'prop 'styleFloat'
        if (
re.test(prop)) { 
            
prop prop.replace(re, function () { 
                return 
arguments[2].toUpperCase(); 
            }); 
        } 
        return 
o.currentStyle[prop] ? o.currentStyle[prop] : null
    } 
}  
onload=function(){
    var 
c=document.getElementById('area');
    var 
cuantos=c.scrollHeight/parseInt(getCSS(c,'line-height'));
    
alert(cuantos);
}
</script>

</head>

<body>
<form action="" method="get"><textarea id="area" name="" cols="">Hah
Hahye hahye aye hahye
Om maam na pum imjya
Kothbiro
Ke luru do ketaa-lha
Om maam pum imjya
Kothbiro
Ke luru do ketaa-lha
Hah
Hahye hahye aye hahye
Om maam pum imjya
Kothbiro
Ke luru do ketaa-lha
Om maam na pum imjya
Kothbiro
Ke luru do ketaa-lha
ah
Hahye hahye hahye
Hah
Hahye hahye hahye
Yah yebi tom nuguee
Um kuru tili bare made
Kothbiro
Kem luru do ketaa-lha</textarea></form>
</body>
</html> 

Etiquetas: lineas, textarea
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 06:20.