Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/08/2011, 20:12
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: recuperar valor por $_get sin recargar pagina

Hola:

No es necesario Ajax para obtener un dato de un select, porque para hacer la llamada ya debes saber obtenerlo.. por ejemplo con onchange="alert(this.value)"... pero entiendo que quieres saber cómo hacerlo, así que mejor te lo intento explicar.

Una forma (la que yo uso) de crear objetos ajax es con esta función:

Código:
function objetoAjax()	{
	if (window.XMLHttpRequest)
		_ajax = new XMLHttpRequest();
	else
		if (window.ActiveXObject)
			_ajax = new ActiveXObject("Microsoft.XMLHTTP");
		else
			_ajax = false;
	return _ajax;
}
Tienes que tener un fichero en el servidor que reciba la petición ajax y normalmente devuelve resultados (por eso se suele denominar "petición". Pueden devolverse los datos requeridos de forma estructurada con estructura xml o json, o simplemente texto plano que parece ser lo que quieres conseguir. Supongo que si solo te interesa saber lo que envías, bastaría con un ficherito php tal que:

Código:
<?php
echo $_GET["opcion"];
?>
Solo nos queda la misma petición. Suponiendo que el fichero php se llame "ir.php", la llamada sería: onchange="pedir(this.value)"; y pedir.php sería:

Código:
function pedir(dato) {
 Ajax = objetoAjax();
 Ajax.open("get", "ir.php?opcion=" + dato, true);
 Ajax.onreadystatechange = function() {
  if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501))
   alert(Ajax.responseText);
 }
 Ajax.send(null);
}
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo