Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2010, 14:55
worldPeace_Plis
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 2 meses
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