Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/09/2010, 16:41
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Validación formulario

opino que te estas complicando mucho. esto es lo que yo haria. en el html, pondria cada par de campos dentro de listas <li> juntamente con el boton de eliminar. luego, cuando el documento termine de cargar, creas un clon de esa lista. en la funcion de agregar, creas un clon del clon. de esta forma no tienes que crear cada elemento y atributo, solo te ocupas de agregar ese segundo clon al listado. para la funcion de remover, es cuestion de subir por los elementos acestrales hasta el contenedor de las listas y eliminar la lista correspondiende. asi no tienes dos botones para cada campo el cual puede resultar en un numero de campos imparejos.

alguna de las funciones que necesitaras: cloneNode(), parentNode, removeChild(), appendChild().

Cita:
También me gustaría saber cómo hacer para que a la función sAt() no tuviera que pasarle el elemento como argumento, sino hacer elemento.sAt(atributo,valor).
aunque ya te expuse una mejor solucion igual lo mencionare por si te sirve en un futuro. una forma, el cual no se cuan recomendable es porque creo que no funciona en todos los navegadores, consiste en implementar la funcion en los modulos que define el DOM. resulta que el DOM -reitero que puede no funcionar en algunos navegadores- crea una serie de objetos/funciones/wrapper del cual derivan algunas funciones y propiedades de elementos. por ejemplo, document.body representa un objeto HTMLBodyElement en lugar de un simple objeto javascript y el constructor de este objeto lleva el mismo nombre. entonces, desde ese constructor podemos definir funciones y propiedades en el objeto prototype.
Código:
HTMLBodyElement.prototype.toogle=function(){this.style.display=(this.style.display)?'':'none';}
document.body.toogle();
si tienes duda del constructor de un elemento, es cuestion de obtener la referencia del elemento en cuestion -o crearlo- y luego leer la propiedad constructor.
Código:
document.createElement('div').constructor;
otro factor a tener en cuenta es que hay otros constructores genericos, por ejemplo Node representa todo los nodos de un documento, sin importar del tipo. Element representa todos los elementos de un documento html o xml y hereda las caracterisitcas de Node. HTMLElement representa todo los elementos HTML y hereda de Element y a su vez de Node. el punto es que dependiendo del alcance que necesites, algunos constructores genericos serian mas conveniente.

otro modo de lograr esta caracteristica seria hacer lo mismo que hace jquery. la funcion $ devuelve un objeto que contiene funciones para operar con el elemento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.