Muchas grácias codigojavascript, he aquí la cuestión.
Lo que intento es que cuando el visitante selecciones una de las opciones del menú <option>:
1.- Se envíe un valor a un archivo php.
2.- Una vez enviado ese valor, se muestra el resultado del proceso PHP en la misma página sin necesidad de recargar la página, la función
getData() se encarga de eso.
El primer parámetro de esa función getData() es el URL al archivo PHP cuyo resultado voy a mostrar sin actualizar la página y al cual debo de enviarle un valor para que procese.
Por jemplo, supongamos que el URL es
procesar.php?id=1
ok, en una primera instancia lo hice como me dijiste, llamando a la función getData('url', 'targetDiv') con un onChangue en el <select>, peeeeero aqui viene el problema.
* targetDiv es el identificador del etiqueta <div> donde se mostrará el resultado.
El menú se arma dinámicamente, si llamo a getData() desde el <select>, como todavía no se ha armado el Menú, no le puedo especificar el parámetro que necesita enviar al archivo PHP.
Es por ello que decidí llamar a la función desde los <option> del menú conforme se van armando, porque cuando se arma cada uno de ellos ya conozco el valor que le voy a enviar al archivo PHP.
Lo pongo con ejemplos:
Así lo tenía al inicio.
Cita: <select name="company_agency" id="company_agency" onChangue="getData('procesar.php?id=???', 'targetDiv')">
<option value="1" selected>Primer elemento</option>
<option value="2">Segundo elemento</option>
<option value="3">Tercer elemento</option>
<option value="4">Cuarto elemento</option>
</select>
Así lo modifiqué, ahora la llamada en lugar que sea en el <select>, es en cada <option> con un
onClick, pero no funciona en IE/6.0
Cita: <select name="company_agency" id="company_agency">
<option value="1" onClick="getData('procesar.php?id=1', 'targetDiv')">Primer elemento</option>
<option value="2" onClick="getData('procesar.php?id=2', 'targetDiv')">Segundo elemento</option>
<option value="3" onClick="getData('procesar.php?id=3', 'targetDiv')">Tercer elemento</option>
<option value="4" onClick="getData('procesar.php?id=4', 'targetDiv')">Cuarto elemento</option>
</select>
A continuación el código de la función getData()
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>
Saludos y grácias nuevamente.