Ver Mensaje Individual
  #20 (permalink)  
Antiguo 25/08/2008, 09:58
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 7 meses
Puntos: 45
Respuesta: Poner <input type="text" en diferentes partes al pulsar un botón

Buf, mucho avanza el hilo en poco tiempo.

Muchas cosas que responder.

Cita:
Iniciado por caricatos Ver Mensaje
Lo de borrar nodos con hijos, tampoco creo que haya problemas (me parece que no hay que controlar nada porque se borran sin más).
La función de borrar() tiene tejemaneje porque todos los hijos no están en un DIV. Todos los DIVs que se añaden, si son hijos como si no, son DIVs clónicos, iguales. La única cosa que diferencia a un DIV padre de un DIV hijo es el marginLeft. Por eso hay que hallar la jerarquía con bucles while. Es un poco lioso, y casi sería mejor hacerlo con listas; pero ya lo tenemos casi hecho así. Con listas sólo habría que mirar si el siguiente elemento LI contiene un UL:
Código HTML:
<ul>
	<li id="1">caja+boton</li>
	<li id="2">caja+boton</li>
	<li id="hijos_de_2">
		<ul>
			<li>caja+boton</li>
			<li>caja+boton</li>
			<li>caja+boton</li>
			<li>
				<ul>
					<li>caja+boton</li>
					<li>caja+boton</li>
					<li>caja+boton</li>
				</ul>
			</li>
			<li>caja+boton</li>
		</ul>
	</li>
</ul> 
Así, si borrasemos el LI de id="2", sólo tendríamos que borrar el LI con id="hijos_de_2" y todo se iría a freir espárragos automáticamente. Con DIVs tenemos que recorrerlos uno a uno comprobando que son hijos para almacenarlos en un array que más tarde será recorrido y elemento a elemento será eliminado.

Cita:
Iniciado por caricatos Ver Mensaje
Y me pareció ver algo de eventos en nodo de texto... (volveré a revisar el tema luego)... Los manejadores solo se asignan a nodos etiquetas... creo que estoy un pelín liado
Espero que no hayamos escrito eso... creo!

Cita:
Iniciado por scorm Ver Mensaje
Respecto a ésto que dices... no se exactamente a qué te refieres
Me refiero a lo siguiente: Nos ponemos en la caja de texto que viene en el documento. Le damos al botón varias veces para crear varias cajas. A esas cajas les escribimos valores: 1,2,3,4 y 5, por ejemplo. Luego nos posicionamos en cualquiera de ellas y le damos al botón para crear nuevas cajas hijas. Cualquier caja que creemos a partir de ese momento tendrá como valor 1.

Cita:
Iniciado por scorm Ver Mensaje
Pero he hecho un cambio y una prueba: Lo que se añaden nuevos, los llamo así:

Código PHP:
<input type="text" name="cap[]" onclick="foco=this" style="background-color: #eeeeee" onfocus="this.style.backgroundColor = '#cccccc'" onblur="this.style.backgroundColor = '#eeeeee'" value="" /> 
Vamos que ahora se llaman 'cap[]'.
Sí, es una buena manera de solucionarlo.


Cita:
Iniciado por scorm Ver Mensaje
Además lo he metido todo en un formulario y he puesto un botón 'Enviar' para probar que puedo mostrar los valores. He puesto en PHP:

Código PHP:
if($enviar){
    foreach(
$cap as $c)
        echo 
$c;    
  } 
Y muestro todo lo que escribo en los inputs (emnos el primero que tendría que poner echo $cap3;).
Bien, perfecto. ¿Te manda también el que esta en DIV id="modulo"? ¿Puedes volver a obtener la jerarquía en PHP o eso no te interesa? Ahora mismo no se me ocurre cómo lo haría con esos name's.

Cita:
Iniciado por scorm Ver Mensaje
Y respecto a uffff queda todavía algo complicado, espero no desanimaros...jejeje
(...)
Todo eso que comentas del drag & drop y tal quizás podría ser tema de un nuevo hilo una vez hayamos finiquitado bien este tema. Creo que ya son muchos posts para esto, al final acabaremos con toda tu página web aqui! jeje.


Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.