Alguna idea de como hacerlo?? Muchas gracias y un saludo!
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| |||
Contar líneas en un textarea Hola a todos, me estreno en este foro porque llevo un par de días intentando encontrar la manera de bloquear la escritura cuando se haya alcanzado un número máxima de lineas, se que hay una etiqueta rows para las líneas "máximas" y un maxlength para que cuando se llegue al final de la linea salte a una nueva, sin embargo no consigo bloquear el número de líneas ya que cuando supero el indicado en rows sale el scroll y sigue permitiendo introducir datos... Alguna idea de como hacerlo?? Muchas gracias y un saludo! ![]() |
| |||
Muchas gracias caricatos, pero lo que planteas tiene un problema, y es con el que me encontre desde un principio, si yo me lio a escribir y escribir sin pulsar el intro, el textarea me dejará ir metiendo datos... con lo que sobrepasaremos las 10 lineas que pusiste en la propuesta... A ver si alguien más se anima.. Un saludo. |
| ||||
Una variante del de caricatos sería este: Código HTML: <html> <head> <script> function contar(f){ linea=f['texto'].value.split("\n"); caracteres=1; for(a=0;a<linea.length-1;a++){ caracteres+=Math.ceil(linea[a].length/70)*70; } caracteres+=linea[a].length; f['pepe'].value=caracteres; if(caracteres>699){f['texto'].disabled=true} } </script> </head> <body> <form> <textarea style="border:solid 1px black;overflow:hidden;"rows=11 cols=70 name=texto onkeydown="contar(this.form)" > </textarea> <input type="text" name="pepe" size="3"> <input value=limpiar type=button onclick="texto.value = ''; texto.disabled = false;" /> </form> </body> </html>
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |
| |||
Aqui os dejo el código por si alguien lo necesita algun dia no es lo más optimo pero creo que funciona Código HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script language="javascript"> function valida(){ var lineas=1; //contador de líneas var caract=0; var contadorbucle=-1; var contadorpalabra= -1; var contadortotal =-1; var texto = document.form1.textarea.value; while (contadorbucle < document.form1.textarea.value.length){ contadorbucle = contadorbucle + 1; contadorpalabra=contadorpalabra+1; //alert ('espacio!!'); if (texto.charAt(contadorbucle)==' '){ contadorpalabra=-1; } contadortotal=contadortotal + 1; if (texto.charAt(contadorbucle)=='\n'){ lineas=lineas+1; contadorpalabra=-1; contadortotal=-1; } if (contadorpalabra > 0 && contadortotal==document.form1.textarea.cols){ contadortotal=contadorpalabra; lineas=lineas+1; } if (contadortotal==document.form1.textarea.cols){ lineas=lineas+1; contadorpalabra=0; contadortotal=0; } } document.form1.text.value = contadorpalabra; document.form1.total.value = contadortotal; document.form1.lineas.value = lineas; if (lineas <= 3){ return true; }else{ alert ('asdad'); return false; } } </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> </head> <body> <form name="form1" method="post" action=""> <p> <textarea name="textarea" cols="10" rows="5" onKeydown="return valida()"></textarea> </p> <p>Contador letras de una palabra<br> <input type="text" name="text"> </p> <p>Contador total<br> <input name="total" type="text" id="total"> </p> <p>Líneas<br> <input name="lineas" type="text" id="lineas"> </p> </form> </body> </html> |
| ||||
Hola sathan: Si lo que quieres es mejorar la edición de texto, fíjate en los scripts que puse en este mensaje: http://www.forosdelweb.com/showthrea...light=textarea No sé muy bien si te será fácil adaptarlo a tu página. Saludos ![]()
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Aver igual no me expliqué bien :) lo que necesito es que una vez me ha hecho toda la comprobación y me he pasado de líneas, que me salte el alert ese que tengoo puesto y me haga un borrar carácter, ya que sino cuando intento pulsar la tecla de borrado, me vuelve a saltar el alert y no me deja cambiar nada. De hecho lo ideal sería que cuando pulse tanto ALT, CTROL o BORRAR ni siquiera entre al bucle, me mande un true directamente... No estoy muy puesto en javascript, sabéis como se haría esto? Muchas gracias por la ayuda :) Última edición por sathan; 29/11/2004 a las 07:32 |