Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/12/2009, 05:56
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Crear y remover inputs

He probado como decías ZeroKilled, pero tengo dos problemas.

1 - El botón add aparece 1 vez debajo de la primera caja de texto y luego al pulsar sobre él, aparecen las cajas de texto debajo del botón add y así sucesivamente. En el primer ej. aparecía tb solo una vez pero se iba poniendo al final de cada caja.

2 - No se como incluir el boton "remove" al final del ultimo input de cada linea, tal y como lo he puesto ahora aparece, pero no allí...

Estoy algo perdido...

Código html:
Ver original
  1. <title>Agregar y/o quitar cajas </title>
  2. body, td, th, div, p {
  3. color:#000000;
  4. font-family:"Lucida Grande",Verdana,Arial,Helvetica,sans-serif;
  5. font-size:small;
  6. }
  7. dd div {
  8. margin-top:0.3em;
  9. }
  10. a.addlink {
  11. background:transparent url(add.png) no-repeat scroll left top;
  12. color:#999999;
  13. font-size:0.9em;
  14. padding:1px 0 1px 20px;
  15. text-decoration:none;
  16. }
  17. a.removelink {
  18. background:transparent url(delete.png) no-repeat scroll 4px 0;
  19. color:#999999;
  20. font-size:0.9em;
  21. padding:1px 0 1px 24px;
  22. text-decoration:none;
  23. }
  24. function addhostfield()
  25. {
  26.   /*var container = document.getElementById('defaulthostlist');
  27.   var fila = document.getElementById('fila');
  28.   var row = document.createElement('div');
  29.   var input = document.createElement('input');
  30.   var link = document.createElement('a');
  31.  
  32.   input.name = '_default_host[]';
  33.   input.size = '30';
  34.   link.href = '#';
  35.   link.onclick = function() { removehostfield(this.parentNode); return false };
  36.   link.className = 'removelink';
  37.   link.innerHTML = 'remove';
  38.  
  39.   row.appendChild(input);
  40.   row.appendChild(link);
  41.   container.appendChild(row);*/
  42.  
  43.   var container = document.getElementById('contenedor');
  44.   var link = document.createElement('a');
  45.   link.href = '#';
  46.   link.onclick = function() { removehostfield(this.parentNode); return false };
  47.   link.className = 'removelink';
  48.   link.innerHTML = 'remove';
  49.   container.appendChild(link);
  50.  
  51.   container.appendChild(container.firstChild.cloneNode(true));
  52. }
  53.  
  54. function removehostfield(row)
  55. {
  56.   var container = document.getElementById('contenedor');
  57.   container.removeChild(row);
  58. }
  59. </head>
  60. <div>Agregar cajas y/o quitar cajas</div><br/>
  61.  
  62. <div id="contenedor"><p> <!-- fijate que ambos tags estan declarados en una misma linea sin separarse -->
  63.     <input type="text" value="" size="5" name="cantidad"/>
  64.     <input type="text" value="" size="30" name="descripcion"/>
  65.     <input type="text" value="" size="5" name="precio"/>
  66.     <input type="text" value="" size="5" name="total"/>
  67.     </p>
  68. <div>
  69. <div><a title="Add another field" class="addlink" href="javascript:addhostfield()">add</a></div>
  70. </body>
  71. </html>

Muchas gracias de antemano!