Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2009, 05:41
xenon254
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 17 años, 2 meses
Puntos: 1
Crear mas de un elemento dinámico al mismo tiempo

Buenas a todos

Hasta ahora diponía de un código mas o menos genérico que iba adaptando según la nececesidad para crear campos dinámicos en formularios

Código:
var numero = 0;

// Funciones comunes
c= function (tag) { // Crea un elemento
   return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
   return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
   return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
   return evt.srcElement ?  evt.srcElement : evt.target;
}

addField = function () {
   container = d('text');
   
   span = c('SPAN');
   span.className = 'text';
   span.id = 'opcion' + (++numero);

   field = c('INPUT');   
   field.name = 'opciones[]';
   field.type = 'text';
   field.size = '45';
   
   a = c('A');
   a.name = span.id;
   a.href = '#';
   a.onclick = removeField;
   a.innerHTML = ' Quitar';

   span.appendChild(field);
   span.appendChild(a);
   container.appendChild(span);
}
removeField = function (evt) {
   lnk = f(e(evt));
   span = d(lnk.name);
   span.parentNode.removeChild(span);
}
Pero ahora necesito añadir 2 campos a la vez cuando se quiera y por supuesto quitarlos cuando se desee. Sería un campo file y otro text.

Alguien sabría por donde tengo que empezar ¿?

Muchas gracias de antemano.