Tengo un código con un formulario que cuando seleccionas la variable "curso", te ofrece el listado de "temas" que están relacionados con ese curso y entonces hacer la selección del tema. Esto funciona bien. Lo que no consigo hacer ahora es utilizar este formulario para hacer un ingreso a la base de datos.
En todos mis intentos me falla algo: o deja de funcionar el formulario y no muestra los temas, o no hace el ingreso en la db. Dejo el código por si me pueden ayudar. Gracias.
Código :
</form> <p> </p> <form name="f1" action="" method="POST"> <h2 align="center">INSERTAR EJERCICIO</h2> <table width="100%" border="0" cellspacing="2" cellpadding="3"> <tr> <td width="11%" bgcolor="#FFFF33"><div align="center">Curso</div></td> <td width="89%"><select name="curso" onchange="cambia_tema()"> <option value="0" selected="selected">Seleccione... </option> <option value="1">1 ciclo Primaria </option> <option value="2">2 ciclo Primaria </option> <option value="3">3 ciclo Primaria </option> <option value="4">1 ESO </option> <option value="5">2 ESO </option> <option value="6">3 ESO </option> <option value="7">4 ESO </option> <option value="8">1 Bachillerato </option> <option value="9">2 Bachillerato </option> </select></td> </tr> <tr> <td bgcolor="#FFFF33"><div align="center">Tema</div></td> <td><select name="tema"> <option value="-">- </option> </select></td> </tr> <tr> <td bgcolor="#FFFF33"><div align="center">Dificultad</div></td> <td><select name="dificultad[]" id="dificultad" multiple="multiple"> <option value="baja">baja</option> <option value="media">media</option> <option value="alta">alta</option> </select></td> </tr> <tr> <td bgcolor="#FFFF33"><div align="center">Enunciado</div></td> <td><label for="textarea"></label> <textarea name="enunciado" id="enunciado" cols="150" rows="5"></textarea></td> </tr> <tr> <td bgcolor="#FFFF33"> </td> <td><input type="submit" name="Submit" value="Insertar" /></td> </tr> </table> <p> </p> </form> <script> //defino una serie de varibles Array para cada curso var temas_1=new Array("-","Suma","Resta","Multiplicación","División","Problemas de dos operaciones","Problemas de más de dos operaciones","...") var temas_2=new Array("-","Suma","Resta","Multiplicación","División","Problemas de dos operaciones","Problemas de más de dos operaciones","...") var temas_3=new Array("-","Suma","Resta","Multiplicación","División","Problemas de dos operaciones","Problemas de más de dos operaciones","...") var temas_4=new Array("-","Tema 01 de 1 de ESO","Tema 02 de 1 de ESO","Tema 03 de 1 de ESO","Tema 04 de 1 de ESO","Tema 05 de 1 de ESO","Tema 06 de 1 de ESO","...") var temas_5=new Array("-","Tema 01 de 2 de ESO","Tema 02 de 2 de ESO","Tema 03 de 2 de ESO","Tema 04 de 2 de ESO","Tema 05 de 2 de ESO","Tema 06 de 2 de ESO","...") var temas_6=new Array("-","Tema 01 de 3 de ESO","Tema 02 de 3 de ESO","Tema 03 de 3 de ESO","Tema 04 de 3 de ESO","Tema 05 de 3 de ESO","Tema 06 de 3 de ESO","...") var temas_7=new Array("-","Tema 01 de 4 de ESO","Tema 02 de 4 de ESO","Tema 03 de 4 de ESO","Tema 04 de 4 de ESO","Tema 05 de 4 de ESO","Tema 06 de 4 de ESO","...") var temas_8=new Array("-","Tema 01 de de 1 Bachillerato","Tema 02 de de 1 Bachillerato","Tema 03 de de 1 Bachillerato","Tema 04 de de 1 Bachillerato","Tema 05 de de 1 Bachillerato","Tema 06 de de 1 Bachillerato","...") var temas_9=new Array("-","Tema 01 de de 2 Bachillerato","Tema 02 de de 2 Bachillerato","Tema 03 de de 2 Bachillerato","Tema 04 de de 2 Bachillerato","Tema 05 de de 2 Bachillerato","Tema 06 de de 2 Bachillerato","...") //función que cambia los temas del select de temas en función del curso que se haya escogido en el select de curso. function cambia_tema(){ //tomo el valor del select del curso elegido var curso curso = document.f1.curso[document.f1.curso.selectedIndex].value //miro a ver si el curso está definido if (curso != 0) { //si estaba definido, entonces coloco las opciones del tema correspondiente. //selecciono el array de tema adecuado mis_temas=eval("temas_" + curso) //calculo el numero de temas num_temas = mis_temas.length //marco el número de temas en el select document.f1.tema.length = num_temas //para cada tema del array, la introduzco en el select for(i=0;i<num_temas;i++){ document.f1.tema.options[i].value=mis_temas[i] document.f1.tema.options[i].text=mis_temas[i] } }else{ //si no había tema seleccionado, elimino los temas del select document.f1.tema.length = 1 //coloco un guión en la única opción que he dejado document.f1.tema.options[0].value = "-" document.f1.tema.options[0].text = "-" } //marco como seleccionada la opción primera de tema document.f1.tema.options[0].selected = true } </script>