Con firebug consigo capturar este error donde se puede ver que realmente se envían los caracteres por post pero no se porque extraña razón no recibe la respuesta.
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script> window.onload = function () { new Ajax.Autocompleter( "txtAutocomplete", "divAutocomplete", "acLocalidades.php", {paramName: "caracteres"} ); } </script> <style> .etiqueta{ float: left; padding: 5px; } div.autocomplete{ margin: 10px 0 0 8px; } div.autocomplete ul{ list-style-type: none; margin: 0; padding: 0; } div.autocomplete ul li{ list-style-type: none; margin: 0; padding: 2px; height: 24px; cursor: pointer; } div.autocomplete ul li.selected{ background-color: #ffb; } </style> </head> <body> <div class="contenedor"> </div> </body> </html>
Aquí podemos ver el php que busca dentro de la base de datos las localidades.
Lo he comprobado y funciona perfectamente ya que cambiando la variable caracteres por un string por ejemplo "ba" me devuelve todas las localidades que lo contengan...
Código PHP:
Ver original
<? // Autocomplete de localidades include ('DB.php'); $caracteres = $_POST('caracteres'); if ($caracteres != ""){ $xMunicipios = $bd->ExecuteField("provincias", "provincia", "provincia LIKE '%%$caracteres%%'" ); $respuesta = "<ul>"; foreach ($xMunicipios as $municipio) { $respuesta .= "<li>" .$municipio['provincia']. "</li>"; } $respuesta .= "</ul>"; } echo $respuesta; ?>
Lo curioso es que si dejo la variable $caracteres = "ba" en el php y arranco el html y escribo cualquier cosa... recibo datos! que alguien me lo explique por favor..aqui podeis verlo:
Ya no se que hacer... llevo horas buscando por internet y no he solucionado nada... quiero que funcione de una vez por las horas que he estado buscando una solución!!!
Gracias!