Foros del Web » Programando para Internet » Javascript »

Insertar texto en un punto concreto de un textarea

Estas en el tema de Insertar texto en un punto concreto de un textarea en el foro de Javascript en Foros del Web. Hola a todos. La idea que tengo es bien simple, es lo que venimos usando todos en cualquier foro al escribir nuestros post, es decir, ...
  #1 (permalink)  
Antiguo 16/01/2014, 08:42
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Insertar texto en un punto concreto de un textarea

Hola a todos.
La idea que tengo es bien simple, es lo que venimos usando todos en cualquier foro al escribir nuestros post, es decir, pulsar el botoncito de marras del editor de texto y que nos incluya cierto código html en función del botoncito que pulsamos y lo sitúe justo en el punto donde tenemos focalizado el puntero.

Actualmente he conseguido éste código:

Código:
    <script type="text/javascript">

		function insIMG() {
			//focalizar();
			document.getElementById('txt').innerHTML += "<br>\n";
			document.getElementById('txt').innerHTML += "<img src='direccion url' height='alto en px'>\n";
			document.getElementById('txt').innerHTML += "<br>\n";
			;
		}
		
		function insTIT() {
			//focalizar();
			document.getElementById('txt').innerHTML += "<h2>aqui el texto</h2>\n";
		}
		
		function insLST() {
			//focalizar();
			document.getElementById('txt').innerHTML += "<ul>\n";
			document.getElementById('txt').innerHTML += "	<li>elemento1</li>\n";
			document.getElementById('txt').innerHTML += "	<li>elemento2</li>\n";
			document.getElementById('txt').innerHTML += "	<li>elemento3</li>\n";
			document.getElementById('txt').innerHTML += "</ul>\n"; 
		}
		
		function insCLR() {
			//focalizar();
			document.getElementById('txt').innerHTML += "<span style='color:#color hexadecimal;'>Texto en color</span>\n";
		}
	</script>
Y luego desde una imagen situada en el formulario, al pinchar, efectivamente incluye todo ese código que le pido, pero el problema es que siempre lo incluye al final del texto. Sé que esto es debido a que innerHTML += lo que hace es coger el ID seleccionado, y añadir (al final por supuesto) lo que le digas que añada.

Además me ocurre otra cosa curiosa, que ya no tengo ni idea de como abarcarla, y es que carga la página, pulsas mil veces los botoncitos y se añade el código sin problema. Pero en cuanto modificas a mano cualquier cosa del textarea, si vuelves a pulsar el botoncito, ya no inserta más código en ninguna parte, ni al final ni nada.

En fin, mis conocimientos de JS son bastante escasos, espero que me podáis echar una mano y que yo no sea tan inútil como para no conseguir esto que busco.

Gracias a todos :)
  #2 (permalink)  
Antiguo 16/01/2014, 12:54
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Insertar texto en un punto concreto de un textarea

Acabo de descubrir algo..

En Chrome, al darle a "Inspeccionar elemanto" sí aparece como que se escribe el texto que debe escribirse, sin embargo en el navegador no se "pinta" en pantalla.

En Firefox, exactamente lo mismo.

Sin embargo en IE10, si que funciona todo bien, se pinta en pantalla aunque escriba y modifique algo yo en el textarea...

Creo que es la primera vez que me pasa algo así, que funcione en IE pero no en Chrome o FF... novedad total jajaja.

Anyway... sigo con el problema, ni idea de porqué no lo muestra en pantalla, cuando por código sí que se añade lo que se debe añadir al textarea :(
  #3 (permalink)  
Antiguo 16/01/2014, 13:42
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Insertar texto en un punto concreto de un textarea

Si estás trabajando con textarea deberías usar value en lugar de innerHTML
  #4 (permalink)  
Antiguo 16/01/2014, 14:06
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Insertar texto en un punto concreto de un textarea

Cita:
Iniciado por Panino5001 Ver Mensaje
Si estás trabajando con textarea deberías usar value en lugar de innerHTML
Estupendo !!!! Resuelto el primer problema, mil gracias Panino5001

Ahora sólo me queda resolver el segundo, que es poder colocar el código que se pinche, en el sitio donde queda el puntero, y devolver el foco a ese mismo punto.

=)
  #5 (permalink)  
Antiguo 18/02/2014, 07:47
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Insertar texto en un punto concreto de un textarea

Eerr... vuelvo a postear sólo por subirlo, a ver si alguien me puede echar una mano con esto de que el texto que se incluye en el textarea se incluya donde está posicionado el cursor ;)
La verdad es que lo había dejado de lado por los estudios y una mudanza este mes, y ahora que lo retomo pues... estoy en el mismo punto jeje.

Etiquetas: formulario, html, js, punto, 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 08:50.