Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2011, 00:46
nelsonblq
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Conflicto en procesamiento de formularios dinamicos

Hola Gente

Espero puedan ayudarme, tengo el siguiente formulario dinamico

Código HTML:
 <script language="javascript" type="text/javascript">
     
            function showOptions(a,b,c){
       
                  document.getElementById(a).style.display = 'block';
       
                  document.getElementById(b).style.display = 'none';
                  document.getElementById(c).style.display = 'none';
            }
     
          </script>
          <form action="prueba.php" method="post">
     
   <select  name="estudios">
     
                 <option onclick="showOptions('primario','secundario','universitario');">Primario</option>
      <option onclick="showOptions('secundario','primario','universitario');">Secundario</option>
                 <option onclick="showOptions('universitario','primario','secundario');">Universitario</option>
   
            </select>
     
                <div id="primario" style="display:none;">
                <select name="nivel" size="1">
                  <option>curso 1</option>
                  <option>curso 2</option>
                </select>
               </div>
     
               <div id="secundario" style="display:none;">
               <select name="nivel" size="1">
                 <option>curso 3</option>
                 <option>curso 4</option>
               </select>    
            </div>
            <div id="universitario" style="display:none;">
             <select name="nivel" size="1">
                 <option>curso 5</option>
                 <option>curso 6</option>
               </select>    
            </div>
            <input type="submit" name="button" id="button" value="Enviar" />
          </form> 
Bien, hasta ahi el formulario funciona a la perfeccion, "solo el formulario" (tal vez )

Dicho formulario se envia y se procesa en prueba.php
Como veran el campo principal select con name="estudios" tomara el valor de lo que alli mismo se elija (Primario, Secundario o Universitario). A continuacion los subcampos select con name="nivel" (son 3 en total) deberian tomar los valores correspondientes en funcion de lo que se elija en el campo select principal. Ejemplo:

Si elijo Primario entonces el formulario deberia "mostrar y enviar" las opciones curso 1 o curso 2
Si elijo Secundario entonces el formulario deberia "mostrar y enviar" las opciones curso 3 o curso 4
Si elijo Universitario entonces el formulario deberia "mostrar enviar" las opciones curso 5 o curso 6

Pero bueno, la cosa me funciona de otra manera y no como espero. A la hora de enviar el formulario sea cual sea la opcion que elija en el campo principal (primario, secundario o universitario) la informacion que me procesa en relacion a los subcampos "es siempre" la del nivel universitario (curso 5 o curso 6). En ejemplo

Elijo Primario pero el formulario me procesa:
curso 5 o curso 6


Elijo Secundario pero el formulario me procesa
curso 5 o curso 6


Elijo Universitario pero el formulario me procesa:
curso 5 o curso 6



Notese que cada select subcampo coinciden con name="nivel" . Por supuesto que ya intente darle una name distinto a cada subcampo, ejemplo nivel1, nivel2 y nivel3 pero en ese ultimo caso el formulario me procesa todos esos datos. Ejemplo

Elijo Secundario pero el formulario me procesa:
curso 1, curso 3 y curso 5
Espero puedan haberme entendido, sino intenten procesar mi formulario en un php y veran que tengo razon.

Entonces como lo soluciono para que el form sea procesado correctamente? Existe alguna posibilidad que el javascript que esta arriba de todo muestre que el las etiquetas que estan en none pueda expresar que las mismas esta suprimidas o que no existen o algo similar? Digo esto ultimo porque por mas que la etiqueta esté oculta con sus respectivos valores para el formulario los datos que la misma contenga "si existen" y por lo tanto siempre los va a procesar, quizas ese es el motivo por el cual mi formulario falla.

Gracias por su tiempo