Foros del Web » Programando para Internet » Javascript »

Mostrar varios inputs con etiquetas

Estas en el tema de Mostrar varios inputs con etiquetas en el foro de Javascript en Foros del Web. ¡Hola! Tengo otra dudilla... Estoy creando un código donde se recogen los datos personales de un alumno, y ese alumno puede tener varios hermanos, entonces, ...
  #1 (permalink)  
Antiguo 14/04/2007, 08:37
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Mostrar varios inputs con etiquetas

¡Hola!

Tengo otra dudilla...

Estoy creando un código donde se recogen los datos personales de un alumno, y ese alumno puede tener varios hermanos, entonces, cada vez que el usuario quiera añadir un hermano tendrá que pulsar en el botón 'Añadir hermano' y a continuación tendrán que aparecer los campos con los datos del hermano a rellenar.

Antes he tenido una situación similar y me he servido de un código de JavierB para solucionarla (muchas gracias) y esta es una situación similar, sólo que en vez de uno son varios campos a la vez los que tengo que recoger, y no consigo mostrar entre uno y otro el texto que informa al usuario de qué campo es, por ejemplo:

DNI: <input para recoger el DNI del hermano> Nombre del hermano: <input para recoger el nombre del hermano>
Estado civil: <input para recoger el estado civil del hermano>....

La función javascript que uso para crear los datos del hermano es (a modo de ejemplo sólo he copiado el DNI y el nombre):
Código:
function crear(obj) {
  num++;
  
  fi = document.getElementById('fiel'); // 1
  contenedor = document.createElement('div'); // 2
  contenedor.id = 'div'+num; // 3
  fi.appendChild(contenedor); // 4
	
  document.write('DNI: ') 	
  ele = document.createElement('input'); // 5
  ele.type = 'text'; // 6
  ele.name = 'cDNIH'+num; // 6
  contenedor.appendChild(ele); // 7

  document.write('Nombre: ');
  ele = document.createElement('input'); // 5
  ele.type = 'text'; // 6
  ele.name = 'cNombreH'+num; // 6
  ele.size = '40';
  contenedor.appendChild(ele); // 7
  
  ele = document.createElement('input'); // 5
  ele.type = 'button'; // 6
  ele.value = 'Borrar'; // 8
  ele.name = 'div'+num; // 8
  ele.onclick = function () {borrar(this.name)} // 9
  contenedor.appendChild(ele); // 7
}
Y en php lo llamo de la siguiente manera:

Código:
<h2>Nuevo hermano</h2>
<fieldset id="fiel">		
<input type="button" value="Añadir Hermano" onclick="crear(this)">
</fieldset>';
Y al final cuando pulso el botón 'Añadir Hermano' sólo me aparece

DNI: Nombre:

en una página en blanco. Si pudiérais ayudarme os lo agradecería.
Muchas gracias...
  #2 (permalink)  
Antiguo 15/04/2007, 02:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Mostrar varios inputs con etiquetas

Hola marcospuig

No puedes usar document.write después de que ya se ha cargado la página, porque, como ya has visto, se borrar todo.

He añadido un par de líneas al código:

Código:
 txt = document.createTextNode('DNI:');
  ele = document.createElement('input'); // 5
  ele.type = 'text'; // 6
  ele.name = 'cDNIH'+num; // 6
  contenedor.appendChild(txt);
  contenedor.appendChild(ele); // 7
Saludos,
  #3 (permalink)  
Antiguo 16/04/2007, 09:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Mostrar varios inputs con etiquetas

Muchas gracias por tu ayuda Javier, pero ahora me encuentro otra piedra en el camino más, en vez de un input quiero poner un select (lista desplegable) y lo intento con esta sintaxis:


Código:
  txt = document.createTextNode(' Estado civil: ');			//Creamos el estado civil
  ele = document.createElement('select');  
  ele.name = 'cEstadoCivilH'+num; 
  ele.option='Soltero';
  ele.option='Casado';
  ele.option='Separado';
  ele.option='Viudo';
  contenedor.appendChild(txt);
  contenedor.appendChild(ele);

Y con este otro:

Código:
 txt = document.createTextNode(' Estado civil: ');			//Creamos el estado civil
  ele = document.createElement('select');  
  ele.name = 'cEstadoCivilH'+num; 
  contenedor.appendChild(txt);
  contenedor.appendChild(ele);
 

  ele = document.createElement('option');  
  ele.name = 'Soltero'; 
  ele.option = 'Soltero';
  contenedor.appendChild(ele);



Pero no funciona, y me preguntaba si me podrías ayudar... o decirme un link donde se explique esto, es que no encuentro nada para ver qué propiedades y métodos tienen los objetos javascript....

Muchas gracias
  #4 (permalink)  
Antiguo 16/04/2007, 10:51
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Mostrar varios inputs con etiquetas

Hola de nuevo.

En este tema preguntaron algo parecido. Échale un ojo:

http://www.forosdelweb.com/f13/anadir-opciones-valores-select-dinamico-478800/

Saludos,
  #5 (permalink)  
Antiguo 16/04/2007, 11:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Mostrar varios inputs con etiquetas

OK muchas gracias, ya parece que va...
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 06:41.