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>
