Hola a todos, llevo un par de días intentando resolver mi problema pero no doy con la solución, así que os pido auxilio.
Antes que nada quiero dejar claro que es lo que quiero que haga:
La idea es rellenar un formulario de proyectos, ya sabéis, nombres, coordinadores, temas etc. La cosa es que yo relleno los campos con selects que consultan la base de datos, pero bueno aquí no está el problema. El problema es el siguiente, el usuario debe ser capaz de elegir un coordinador en el select del coordinador, y una vez elegido más abajo el campo de la Titulación, debe rellenarse automáticamente con la titulación del coordinador en cuestión ( aquí es donde tenemos AJAX )
dejaré las lineas de código de los sitios problemáticos.
Alta del projecto:
-declaracion del script que hace la llamada Ajax
Código HTML:
<script language="javascript" src="media/js/jquery.js" type="text/javascript">
function obtenerTitulacion(ID)
{
var parametros = "ID="+ID;
$.ajax({
data: parametros,
url: 'consultaAjax.php',
type: 'post',
success: function(response) {
$("#titulPrincipal").html(response);
}
});
}
</script>
Necesito coger el atributo ID del coordinador para poder ir a consultar su titulación.
-llamada a la función:
(está dentro de un form y a su vez dentro de una table)
Código HTML:
<tr>
<td ALIGN=RIGHT>Coordinador del projecte: </td>
<td>
<select name="coordinador" id="coordinador" onChange="obtenerTitulacion(this.value);">
<?php
//select coordinador, consulta base de dades
$coordinador=mysql_query("SELECT * FROM form_formadors WHERE participacio='Coordinador' order by nom_cognoms",$linkForm);
printf("<option>No seleccionat</option>");
while($fila_coordinador = mysql_fetch_array($coordinador)){
printf("<option value=%s>%s</option>",$fila_coordinador["ID"],$fila_coordinador["nom_cognoms"]);
}
//liberar
mysql_free_result($coordinador);
?>
</select>
</td>
</tr>
Archivo de la consulta Ajax:
Código PHP:
<?php
include("media/php/con.php");
$IDTITUL=$_POST['ID'];
$linkForm=ConnectarBDD(1);
$titulacioCoordEsc=mysql_query("SELECT titulacio_formador FROM form_formadors WHERE ID='$IDTITUL'",$linkForm);
$titulCoord = mysql_query("SELECT nom_titulacio FROM titulacions WHERE ID='$titulacioCoordEsc'",$linkForm);
echo $titulCoord;
?>
con.php es un php donde facilito un poco el tema de la conexión a las bases de datos ( está completamente testado y funciona )
-Lugar del form anterior donde debería salir la titulación:
Código HTML:
<tr>
<td ALIGN=RIGHT>Titulacio principal: </td>
<td>
<div id="titulPrincipal">Titulacion</div>
</td>
</tr>
Finalmente, debo añadir que intenté quitar el echo $titulCoord; y poner un echo "hola"; y no me lo imprime tampoco, es como si no me llamase la función en el onChange, espero podáis ayudarme.
Saludos!!