Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con un formulario Ajax

Estas en el tema de Problema con un formulario Ajax en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/02/2013, 13:02
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 2 meses
Puntos: 0
Problema con un formulario Ajax

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!!
  #2 (permalink)  
Antiguo 07/02/2013, 13:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con un formulario Ajax

utiliza una consola de depuración como firebug, para que verifiques que se está enviando al servidor y que recibes.

por otro lado creo que puedes usar JSON para pasar los parámetros a jquery:

Código Javascript:
Ver original
  1. $.ajax({
  2.  
  3.         data: {'ID' : ID },
consulte la documentación de jQuery
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/02/2013, 13:42
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problema con un formulario Ajax

De acuerdo, gracias por contestar, mañana por la mañana cuando vaya a trabajar, probaré el firebug para ver qué ocurre, pero me preocupa un poco el tema de que no me imprima siquiera el echo "hola"; en el div de la titulación cuando quería probar.
  #4 (permalink)  
Antiguo 07/02/2013, 14:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con un formulario Ajax

precisamente, porque algo debe estar fallando, as allí lo importante de utilizar tales herramientas como firebug, que te permiten ver más allá de la perspectiva del usuario final

además la declaración de jQuery deberías hacerla aparte:

Código HTML:
Ver original
  1. <script language="javascript" src="media/js/jquery.js" type="text/javascript"></script>
  2. <script language="javascript" type="text/javascript">
  3. //tu código JS separado
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 08/02/2013, 03:53
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problema con un formulario Ajax

Ya lo he resuelto gracias a usted. Muchas gracias, finalmente resultaba que como bien decia usted, la función estaba mal declarada y además el fichero ConsultaAjax.php no estaba en la ruta adecuada.

Gracias de nuevo!!

Saludos!

Etiquetas: ajax, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:35.