website stats » Seleccionar contenido de un Textarea | Solo Código |

Seleccionar contenido de un Textarea

Escrito por J.F. el Monday, 16 de July del 2007 a las 16:03

Seguro que en alguna ocasión has visto como dentro de un textarea había texto, y al pinchar en un vínculo, se selecciona todo el contenido. Otra opción es que al situar el foco dentro de ese textarea se seleccione también todo el contenido, algo similar a lo que ocurre cuando copiamos el código de los anuncios de Google Adsense. Pues bien, veamos como podemos implementar dichos sitemas gracias a Javascript. La función a usar en éste caso es la siguiente. Puedes colocarla como siempre donde quieras, en una hoja aparte donde estén todas tus funciones Javascript o en el head de la página en el que lo vayas a usar:

JavaScript:
  1. <script language="Javascript">
  2. <!--
  3. var copytoclip=1
  4.  
  5. function SeleccionarTodo(theField) {
  6. var tempval=eval("document."+theField)
  7. tempval.focus()
  8. tempval.select()
  9. if (document.all&&copytoclip==1){
  10. therange=tempval.createTextRange()
  11. therange.execCommand("Copy")
  12. }
  13. }
  14. //-->
  15. </script>

Una vez definida la función, veamos la forma de usarla. En primer lugar vamos a explicar como hacer un vínculo para que, al ser pulsado se seleccione todo el contenido:

HTML:
  1. <form name="formulario">
  2. <a  href="javascript:SeleccionarTodo('formulario.cuadro')">Seleccionar</a><br />
  3. <textarea name="cuadro" rows="10" cols="20">Texto que se encuentra dentro del text area. Si pinchas en seleccionar (arriba)
  4. se seleccionará todo.</textarea>

Así al pulsar en "Seleccionar" todo el contenido será seleccionado. Si queremos que se seleccione al situar el foco dentro del textarea tan sólo deberemos hacer lo siguiente:

HTML:
  1. <form name="formulario">
  2. <textarea name="cuadro" rows="10" cols="20" onFocus="javascript:SeleccionarTodo('formulario.cuadro')">Texto que se encuentra dentro del text area. Si pinchas en seleccionar (arriba)
  3. se seleccionará todo.</textarea>

Como vemos, tan solo hay que hacer la llamada a la función

JavaScript:
  1. "javascript:SeleccionarTodo('formulario.cuadro')"

cuando queramos. Para el primer caso la incluíamos en un href de un vínculo, y en éste último le añadíamos al textarea la propiedad onFocus que llamaba a la función para que se ejecutara al posar el cursor del ratón. Si lo deseamos podemos utilizar los 2 sistemas, para poner el vínculo y para que funciona al posar el cursor. Puedes ver funcionando los 2 sistemas en el ejemplo.
Ver ejemplo: | Seleccionar contenido de un Textarea

Comentarios (3)

Categoria: Javascript

3 Comentarios

Entradas relacionadas


Comentario de Deniz

Realizado el Friday, 20 de June del 2008 a las 15:46

Gracias me sirvio de mucho!

Comentario de are

Realizado el Tuesday, 20 de January del 2009 a las 5:31

hola

Comentario de Josete

Realizado el Friday, 6 de November del 2009 a las 15:31

Mi pregunta es? y si lo que quiero es que al pinchar en un boton (son hipervincunlos con un css aplicado, el boton me llevara a otra pagina) pasar al portapapeles el texto de ese boton (para sea copiado en un doc para llevar un seguimiento de los botones pulsados…

Los botones siguen este formato:
texto a copiar

Me ayudarias un monton…. gracias…

Escribir un comentario

Puedes usar las siguientes etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Solo Código

Solo Código es una colección de códigos de todo tipo que pueden resultar útiles para el diseño de páginas web. Está enfocado tanto para aquellos que son expertos, como para aquellos principiantes que quieren encontrar recursos útiles, o no saben implementar determinadas funciones en sus webs. No olvides que Solo Código es un blog de Informática Práctica, donde tenemos otras secciones interesantes como:
| Tutoriales | Trucos | Software | Links | Buscar |