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>
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 5Espero 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