Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/01/2011, 09:38
solovoy
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Guardar valor en campos dinamicos

No conozco bastante esa funcion pero por lo que vi me clonaria todo el campo. El problema es que al clonar todo el campo, tambien clonaria la id por lo cual no la podria diferenciar a la hora de pasar el formulario para que se guarde en la base de datos.

Actualizo:

Encontre la solucion. El error en el codigo de arriba fue que yo tomaba los valores de los campos despues del ss.innerHTML = '' osea que cuando buscaba los valores no habia nada porque ya se habia borrado todo.

Despues el problema era que no me asignaba el valor al campo. No se porque no me dejaba ingresar los valores en el for en el que creo el campo. Asi que lo solucione haciendo otro for. Ahora hay dos for, uno que crea los campos y otro que les asigna el valor que tenian antes del cambio.

Finalmente el codigo quedo asi:

Código Javascript:
Ver original
  1. var cantidadanterior = 0;
  2.  
  3. var x = new Array();
  4.  
  5. function cantidadTemas() {
  6.         var str = document.getElementById('cantidad').value;
  7.         if (!isInteger(str) ) {
  8.             return;
  9.         }
  10.         if (cantidadanterior != 0) {
  11.             for (i=1;i<=cantidadanterior;i++) {
  12.                 x[i] = document.getElementById('tema'+i).value;
  13.             }
  14.         }
  15.         var ss = document.getElementById('temas')
  16.         ss.innerHTML = '';
  17.         for (i=1 ; i<=str; i++) {
  18.             var sugges = i + '. <br /><input type="text" id="tema' + i + '" name="tema' + i +'" autocomplete="off" ';
  19.             sugges += '/><br />';
  20.             if (i==str) {
  21.                 sugges += '<br />';
  22.             }
  23.             ss.innerHTML += sugges;
  24.         }
  25.         for (i=1 ; i<=str; i++) {
  26.             if (cantidadanterior != 0 && typeof x[i] != 'undefined') {
  27.                 document.getElementById('tema'+i).value = x[i];
  28.             }
  29.         }
  30.         cantidadanterior = document.getElementById('cantidad').value;
  31. }

Última edición por solovoy; 29/01/2011 a las 10:15