Ver Mensaje Individual
  #12 (permalink)  
Antiguo 20/09/2010, 15:58
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 7 meses
Puntos: 310
Respuesta: Validación formulario

Bueno creo que al final lo solucioné, posteo el código por si a alguien le pudiera servir y por si hay alguna crítica:
Código HTML:
Ver original
  1.  <legend>Coordenadas:</legend>
  2.  <br />
  3.  <div id='l'>
  4.   <span class="texto">&nbsp;X:</span>
  5.   <input type='text' id='cx0' name='coordx[]' size='10' />
  6.   <span class="texto">&nbsp;Y:</span>
  7.   <input name="coordy[]" type="text" id="cy0" size="10" />
  8.   <br />
  9.  </div>
  10. </fieldset>  
  11. <input type="button" value="Agregar campo" id='btn' onclick="addI(ID('l'),'input','br');" />
Código Javascript:
Ver original
  1. var n=1;
  2. function ID(id){
  3.  return document.getElementById(id);
  4. }
  5. function sAt(elemento,atributo,valor){
  6.  elemento.setAttribute(atributo,valor);
  7. }
  8. function addI(d,e,f){
  9.  var c=document.createElement(e),i=document.createElement(e),b=document.createElement(e),s=document.createElement(f);
  10.  sAt(c,'type','text');
  11.  sAt(i,'type','text');
  12.  sAt(c,'name','coordx[]');
  13.  sAt(i,'name','coordy[]');
  14.  sAt(c,'id','cx'+n);
  15.  sAt(i,'id','cy'+n);
  16.  sAt(c,'size','10');
  17.  sAt(i,'size','10');
  18.  sAt(c,'class','input');
  19.  sAt(i,'class','inputy');
  20.  sAt(b,'type','button');
  21.  sAt(b,'onclick',"removeI(this);");
  22.  sAt(b,'value','Eliminar campos');
  23.  sAt(b,'class','button');
  24.  d.appendChild(c);
  25.  d.appendChild(i);
  26.  d.appendChild(b);
  27.  d.appendChild(s);
  28.  n++;
  29. }
  30. function removeI(c){
  31.  c.parentNode.removeChild(c.previousSibling.previousSibling);
  32.  c.parentNode.removeChild(c.previousSibling);
  33.  c.parentNode.removeChild(c.nextSibling);
  34.  c.parentNode.removeChild(c);
  35. }
Código CSS:
Ver original
  1. .texto {font:100&#37; "Colonna MT"; color:#FFF;}
  2. .input {margin:1.5% 4% 1.5%;}
  3. .inputy {margin:1.5% 1.75% 1.5%;}
  4. .button {margin:1.5% 1.4% 1.5%; margin-right:0;}
  5. li {list-style-type:none;}
  6. #l {position:relative; width:120%; height:100%;}
  7. fieldset {width:32%; height:auto;}
No lo hice con cloneNode() porque no entendí muy bien lo de los hidden, y tampoco entendí lo del DOM de @zerokilled, si me lo pudiérais explicar (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red