Foros del Web » Programando para Internet » Javascript »

dudas add/remove fields dinamicamente, limpia informacion

Estas en el tema de dudas add/remove fields dinamicamente, limpia informacion en el foro de Javascript en Foros del Web. estoy intentando hacer un formulario que me permita agregar y remover campos dinamicamente -...no va tan mal! jijiji- pero tengo dos problemas que no hayo ...
  #1 (permalink)  
Antiguo 02/06/2010, 14:55
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 1 mes
Puntos: 5
dudas add/remove fields dinamicamente, limpia informacion

estoy intentando hacer un formulario que me permita agregar y remover campos dinamicamente -...no va tan mal! jijiji- pero tengo dos problemas que no hayo como resolverlos:
1) Cuando agrego campos me agrega un select-option y un textfield los cuales si les ingreso datos y despues se me ocurre agregar otro campo entonces me limpia toda la informacion que ya habia capturado en los campos anteriores, como si reseteara todo

2) y luego mi segunda duda es al mandar toda la informacion cuando ya deseo procesarla, al agregar campos agrega : campo1, campo2, 3,4,5,6,7 y va sumando un contador, asi agrego campo 20,21,etc
Cada campo permite ser removido, la cosa es que puedo remover el campo 1, 7, 11, etc... y entonces me quedaria una lista de campos con numeracion discontinua, entonces, como puedo mandar la informacion para ser procesada? campo1,campo2,3,7,9,15,16,17, etc...,

Aqui el script:
Código Javascript:
Ver original
  1. var numCampos = 1;
  2. var enlistar = '<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n';
  3.  
  4. function remueve(idCampo) {    
  5.     var oparent = document.getElementById('dinContenedor');
  6.     var ochild = document.getElementById(idCampo);
  7.     oparent.removeChild(ochild);
  8. }
  9.  
  10. function agrega() {
  11.     removelink = "<a style='cursor: pointer; color: blue;' onclick=\"remueve('datos'+"+numCampos+");\">Remover</a>";
  12.     document.getElementById('dinContenedor').innerHTML += '<div id="datos' + numCampos + '" style="text-align:left;">' +
  13.     '<select name="id' + numCampos + '" style="width:170px; margin-right:5px;">\n<option value="">- Selecciona -</option>\n' + enlistar + '</select> ' + '<input type="text" name="TextInput' + numCampos + '" id="TextInput' + numCampos + '" value="'+numCampos+'" style="width:400px">\n' + removelink + ' </div>';
  14.        
  15.         document.forms[0].contadorCampos.value = numCampos;   // El numero de formulario en el html/code
  16.         numCampos++;
  17. }
  18.  
  19. function revision() {
  20.     if (numCampos == 1) {
  21.             alert('Por lo menos agrega un campo!);
  22.            return false;
  23.        }
  24.    return true;
  25.    }
y este el formulario:
Código:
<div style="width:90%; margin:15px auto 0 auto;">
<form action="totalFields.php" method="post" onSubmit="return revision();"> 
    <table cellspacing="0" cellpadding="4" border="0" width="100%"> 
        <tr><td align="right"><input type="button" value="Agregar campos" onClick="agrega();"></td></tr>
		<tr><td><div class="hdr1">Categoria</div><div class="hdr2">Nombre Articulo</div><td></tr> 
        <tr> 
            <td id="dinContenedor" valign="top"> 
                <!-- POST or GET. -->  
            </td> 
        </tr> 
        <tr> 
            <td align="right" colspan=2> 
                <!-- Oculto, funcion: pasar contadro de campos a procesar. --> 
                <input type="hidden" name="contadorCampos"> 
                <input type="submit" value="Enviar"> 
            </td> 
        </tr> 
    </table> 

</form>
<div>
Como puedo recoger los valores? y porque al agregar campos me resetea los ya llenados? Ojala me puedan dar un tip, da antemano gracias por leer mi consulta

Salu2!

Última edición por worldPeace_Plis; 02/06/2010 a las 14:57 Razón: cambie informacion
  #2 (permalink)  
Antiguo 02/06/2010, 15:12
Avatar de 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: dudas add/remove fields dinamicamente, limpia informacion

un poco de busqueda y veras que a otros le han sucedido igual. anado input con javascript value borrado.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 03/06/2010, 12:06
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: dudas add/remove fields dinamicamente, limpia informacion

ok, ya lei acerca del DOM vs innerhtml, sigo pensando que innerhtmlsera como para hacer cosas mas rapidas
Me encontre con esto: http://www.mredkj.com/tutorials/tablebasics3.html que me ha ayudado un poco mas, mi problema estaba en remover y agregar sin afectar contenidos ya capturados

Por otra parte encontre que no tiene caso obtener valores de los inputs desde el js sino hasta despues que se procesa al php, ahi es donde guarda los valores enviados por post

Bueno "la sabiduria es una gota comparada con el enorme mar de ignorancia que tenemos"

Salu2!

Etiquetas: dinamicamente, fields, informacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.