Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/06/2013, 11:58
Avatar de mmiguel40
mmiguel40
 
Fecha de Ingreso: marzo-2013
Ubicación: Barquisimeto Venezuela
Mensajes: 17
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Insertar en bd datos de formulario dinamico

nuevamente gracias por la colaboración, todos los día se aprende algo nuevo hice unos cambios en mi codigo para trabajar con la sugerencia de Nemutagk los textbox que quiero guardar en bd los genero con esta función en js

antes estaba asi, generaba un name diferente cada vez que el usuario pulsara el botón que genera los textbox.


Código Javascript:
Ver original
  1. function crear() {
  2.  
  3. detalle = document.getElementById('det');
  4. contenedor = document.createElement('div');
  5. contenedor.id = 'detfac'+i;
  6. detalle.appendChild(contenedor);
  7.  
  8. prod = document.createElement('input');
  9.   prod.type = 'text';
  10.   prod.name = 'prod'+i;
  11.   prod.id = 'prod'+i;
  12.   contenedor.appendChild(prod);
  13.  
  14. cant = document.createElement('input');
  15.   cant.type = 'text';
  16.   cant.name = 'cant'+i;
  17.   cant.id = 'cant'+i;
  18.   cant.size = '6';
  19.  
  20.   contenedor.appendChild(cant);  
  21.  
  22.  
  23. prec = document.createElement('input');
  24.   prec.type = 'text';
  25.   prec.name = 'prec'+i;
  26.   prec.id = 'prec'+i;
  27.   prec.size = '10';
  28.   contenedor.appendChild(prec);
  29.  
  30. subt = document.createElement('input');
  31.   subt.type = 'text';
  32.   subt.name = 'subt'+i;
  33.   subt.id = 'subt'+i;
  34.   subt.size = '12';
  35.   contenedor.appendChild(subt);
  36.  
  37.   check = document.createElement('input');
  38.   check.type = 'checkbox';
  39.   check.name = 'check'+i;
  40.   check.id = 'check'+i;
  41.   contenedor.appendChild(check);
  42.  
  43.  
  44.  
  45. llenar();
  46. descontar();
  47. window.alert(i+" producto agregado");
  48.  
  49. i++;  
  50.  
  51.  
  52.  
  53.  
  54. }

ahora lo ajuste para que el php lo reciba como arreglo e inserte en bd a traves de un "for"


Código Javascript:
Ver original
  1. function crear() {
  2.  
  3. detalle = document.getElementById('det');
  4. contenedor = document.createElement('div');
  5. contenedor.id = 'detfac';
  6. detalle.appendChild(contenedor);
  7.  
  8. prod = document.createElement('input');
  9.   prod.type = 'text';
  10.   prod.name = 'prod[]';
  11.   prod.id = 'prod'+i;
  12.   contenedor.appendChild(prod);
  13.  
  14. cant = document.createElement('input');
  15.   cant.type = 'text';
  16.   cant.name = 'cant[]';
  17.   cant.id = 'cant'+i;
  18.   cant.size = '6';
  19.  
  20.   contenedor.appendChild(cant);  
  21.  
  22.  
  23. prec = document.createElement('input');
  24.   prec.type = 'text';
  25.   prec.name = 'prec[]';
  26.   prec.id = 'prec'+i;
  27.   prec.size = '10';
  28.   contenedor.appendChild(prec);
  29.  
  30. subt = document.createElement('input');
  31.   subt.type = 'text';
  32.   subt.name = 'subt[]';
  33.   subt.id = 'subt'+i;
  34.   subt.size = '12';
  35.   contenedor.appendChild(subt);
  36.  
  37.   check = document.createElement('input');
  38.   check.type = 'checkbox';
  39.   check.name = 'check[]';
  40.   check.id = 'check'+i;
  41.   contenedor.appendChild(check);
  42.  
  43.  
  44.  
  45. llenar();
  46. descontar();
  47. window.alert(i+" producto agregado");
  48.  
  49. i++;  
  50.  
  51.  
  52.  
  53.  
  54. }

una ultima consulta si yo tengo una variable que me traje a través de un $valor = $POST[valor] y este "valor" contiene un numero con el cual pretendo recorrer el arreglo ejemplo inserta en bd mientras i<valor; para que funcione correctamente tengo que usar un count? ejemplo i<count.$valor; que opcion podria aplicar?