Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2014, 08:42
Avatar de SirZoX
SirZoX
 
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 18 años
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 :)