Foros del Web » Programando para Internet » Javascript »

Más de un objeto dinámico

Estas en el tema de Más de un objeto dinámico en el foro de Javascript en Foros del Web. Buenas a todos, Planteo esta duda porque no sé cómo resolverla. A través del siguiente código genero un textbox dinámico y botón borrar justo al ...
  #1 (permalink)  
Antiguo 05/03/2014, 14:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 18
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Más de un objeto dinámico

Buenas a todos,

Planteo esta duda porque no sé cómo resolverla. A través del siguiente código genero un textbox dinámico y botón borrar justo al lado para eliminarlo. Ahora, lo que quiero hacer es que no solo me cree este textbox, sino también un textArea, también un radioButton, pero si logro el textArea el otro sale solo. Es decir, en resumen, al hacer click en el botón "Agregar", que me genere el texto más el textBox (como está funcionando ahora) y que además le agregue otro texto más un textArea... No logro hacer esto último, en realidad la cuestión no es que no pueda (logro el textArea), sino que el texto contenedor.innerHTML = "textArea: "; que estaría justo antes, reemplaza al del textBox, no sé si me explico. O sea, al ser dinámico, lo cambia, pero lo que quiero es que justamente quede fijo antes de un textBox, textArea, radioButton, o lo que fuera.

Código:
<html> 
<head>
<title>Test</title>
<script type="text/javascript">
 
icremento =0;
function crear(obj)
{
  icremento++;

  downloads = document.getElementById('downloads');
  contenedor = document.createElement('div');
  contenedor.id = 'div'+icremento;
  downloads.appendChild(contenedor);
 
  boton = document.createElement('input');
  boton.type = 'text';
  boton.name = 'text'+'[]';
  
  contenedor.innerHTML = "Título: ";
  contenedor.appendChild(boton);
   
  boton = document.createElement('input');
  boton.type = 'button';
  boton.value = 'Borrar';
  boton.name = 'div'+icremento;
  boton.onclick = function(){borrar(this.name)}
  contenedor.appendChild(boton);
  downloads.appendChild(document.createElement('br'));
}

function borrar(obj)
{
  downloads = document.getElementById('downloads'); 
  downloads.removeChild(document.getElementById(obj)); 
}
</script>
</head>
<body>
	<font face="calibri">
		<form name="form">
		<fieldset id="downloads" style="width:638px"><legend>Test</legend></br>
			<input type="button" value="Agregar" onclick="crear(this)"></br></br>
		</fieldset>
		</br>
		<input type=button value="Aceptar" onclick="transform()">
		</form> 
	</font>
</body>
</html>
Desde ya agradezco su ayuda, y si no me hice entender del todo, por favor me avisan para dar más detalle.


--------------

Solucionado: Lo pude hacer por medio del document.createTextNode("Texto");

Gracias igual...

Saludos,

Última edición por adm100388; 05/03/2014 a las 14:52
  #2 (permalink)  
Antiguo 06/03/2014, 09:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Más de un objeto dinámico

recuerda que a diferencia de los <input> que son Tags sin cierre el textarea si es un tag con cierre: <textarea></textarea> por lo que debes de tener cuidado de introducir dentro de él otros inputs o no cerrarlo debidamente si es que usas innerHTML, lo cual lo correcto es así:

Código HTML:
Ver original
  1. <input name="x" /><textarea name="y">valor del textarea</textarea><input name="z" /> .....
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/03/2014, 07:39
 
Fecha de Ingreso: febrero-2008
Mensajes: 18
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Más de un objeto dinámico

Ok, gracias por el consejo. ;)

Etiquetas: funcion, html, input, objeto
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 12:35.