Tengo un menú <select> dentro de un formulario, ok cada vez que alguien selecciona una opción del menú, mediante un onChange que llama a una función en JavaAcript (getData -se muestra al final de este post-) cargo un archivo en PHP que está en el servidor y lo muestro en mi página sin necesidad de recargarla, ok hasta ahí no hay problema.
El problema viene porque el archivo que traigo desde el server necesita recibir el valor del <option > seleccionado del menú<select>, pero no se cómo enviarle ese valor ya que cuando se especifica el archivo a traer en el <select> aún no sé que opción va a seleccionar el usuario, a continuación pongo el código:
Menú:
Cita:
Contenido archivo que traigo desde el Server (recibido.php)<select name="elemento" id="elemento" onChange="getData('recibido.php', 'targetDiv')">
<option value="1">Primer elemento</option>
<option value="2">Segundo elemento</option>
<option value="3">Tercer Elemento</option>
<option value="4">Cuarto Elemento</option>
</select>
<option value="1">Primer elemento</option>
<option value="2">Segundo elemento</option>
<option value="3">Tercer Elemento</option>
<option value="4">Cuarto Elemento</option>
</select>
Cita:
Donde deseo que se muestre el resultado de recibido.php pongo:<?
echo "Valor recibido: ".$_GET['elemento'];
?>
echo "Valor recibido: ".$_GET['elemento'];
?>
Cita:
Como ven, no tengo mayor problema para procesar el archivo recibido.php sin recargar la página, el problema es que no se como enviarle el valor del <option> seleccionado.<div id="targetDiv">
The fetched data will go here.
</div>
The fetched data will go here.
</div>
Desde ahora agradezco cualquier ayuda.
P.D. Por si a alguien le sirve, pongo el código JavaScript que se encarga de traer el archivo desde el server sin recargar la página.
Cita:
<script language = "javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>