Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2010, 19:42
churretin
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
mostrar consulta tras seleccion opcion en combobox

hola amigos, mi problema es el siguinete:

tengo una lista menu que optiene los valores de una tabla mysql, eso lo hace bien, una vez que la seleccion no consigo mostrar nada justamente debajo, no consigo enocntrarle el fallo, iexplorer me da un error en el .js en la linea 9, que ahi un document.getElementById() el error siguiente, por lo que deduzco que lo que no le llega son los datos a esa funcion, pero no consigo solucionarlo:

Mensaje: Se esperaba un objeto
Línea: 9
Carácter: 1
Código: 0
URI: http://localhost/form_div/ajax/

añado los archivos que tengo menos el de conexiones.php que ese no falla:


ajax.js:

function objetoAjax(){
var xmlhttp=false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function pedirDatos(){ //donde se mostrará el resultado
divResultado = document.getElementById('resultado'); //tomamos el valor de la lista desplegable
nom=document.formulario.lista.value;

//instanciamos el objetoAjax
ajax=objetoAjax();
//usamos el medoto POST
//archivo que realizará la operacion
//datoscliente.php

ajax.open("POST", "datoscliente.php",true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4){
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores
ajax.send("nombres="+nom)}





lista.php:

<?php
require('conexion.php');
//seleccionamos solo el nombre de los clientes
$sql=mysql_query("SELECT id_sector, nombre_sector FROM sectores",$con);
?>
<select name="lista" id="resultado" onchange="pedirDatos()">
<?php
while($row = mysql_fetch_array($sql)){

echo '<option value="'.$row["id_sector"].'" >'.$row["id_sector"].'</option>';
}
?>
</select>


datosclientes.php:
<?php
require('conexion.php');
//capturar el nombre del cliente
echo $id=$_POST['id_sector'];//seleccionamos los datos del cliente por su nombre
$sql=mysql_query("SELECT nom FROM empresas WHERE sector='".$id."'",$con);
echo sql;
$row = mysql_fetch_array($sql);//mostrando el resultadoecho
echo "<p><strong>Direccion</strong></p><p>".$row['nom']."</p>";
//echo "<p><strong>Telefono</strong></p><p>".$row['telefono']."</p>";
//echo "<p><strong>Email</strong></p><p>".$row['email']."</p>";
?>

index.php:

<html>
<head>
<title>Consulta de datos</title>
<script language="JavaScript" type="text/javascript" xsrc="ajax.js" mce_src="ajax.js" ></script>
</head>
<body>
<p>Este ejemplo muestra como realizar una consulta de los registros de una tabla usando un control de lista.</p>
<form name="formulario" action="">
<?php
include('lista.php');
?>
</form>
<div id="resultado" style="border:1px solid #FF0000; color:#000099;width:400px;">
</div>
</body>
</html>





muchas gracias de antemano