Foros del Web » Programando para Internet » Javascript »

sacar variable de un imput con autocomplete

Estas en el tema de sacar variable de un imput con autocomplete en el foro de Javascript en Foros del Web. hola os digo mi problema, tengo un campo con muchas calles de mi pueblo, el campo tienes un autocomplete k funciona muy bien, pero ahora ...
  #1 (permalink)  
Antiguo 09/06/2010, 09:54
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
sacar variable de un imput con autocomplete

hola os digo mi problema, tengo un campo con muchas calles de mi pueblo, el campo tienes un autocomplete k funciona muy bien, pero ahora nose k hacer cuando se hace onclick en un nombre de una calle, me gustaria k me ayudaseis a sacar una variable en php para yo despues podersela mandar a la API de google mas para sacar la geolocalizacion, pero en eso no tengo probelmas en a la hora de sacar a variable en php k no se como hacerlo

os adjunto el codigo, mil gracias por perder vuestro tiempo:

--------------------------index.html----------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Autocomplete </TITLE>

</HEAD>
<script type="text/javascript" src="jsfile.js"></script>
<script type="text/javascript" >
function setValue(str)
{
document.getElementById("name").value=str;
}
</script>

<BODY>
<div>
<div>
<div>
Direccion:
<div>
<input style="width: 200px;" id="name" onkeyup="getInfo(this.value,200)" type="text" />
<div onclick="" id="autoSuggestionsList" style="position: relative; top: -4px; width='100px;'" >

</div>
<div>
</div>

</div>

</BODY>
</HTML>
----------------------------info.php-------------------------

<?php
if(isset($_GET["str"])) {
$queryString= $_GET["str"];
$length= $_GET["length"];
$con = mysql_connect("localhost","root","root"); //open connection

if (!$con) {
die('Could not connect to mysql ' . mysql_error()); // error message
}
else {

mysql_select_db("zafra",$con); // select database
$query="select nombre_calle from calles where nombre_calle like '%".$queryString."%' limit 10";
$result= mysql_query($query); // fire query
echo "<table bgcolor='blue' width='".$length.";'>";

while($row = mysql_fetch_row($result)) // fetch result
{
echo "<tr width='".$length.";'>";
echo "<td style='color: #000000; text-decoration: none; cursor:pointer;' onclick='setValue(this.value)' onkeydown='setValue(this.innerText)' width='".$length.";'>";

echo $row[0]; // display result
echo "</td>";
echo "</tr>";
}

echo "</table>";

mysql_close($con); // close connection

}
}
else {
echo "";
}

?>
--------------------------jsfile.js---------------------------
var httpobject;

function getInfo(str,length)
{
if(str.length != 0)
{
httpobject=GetHttpObject();
if (httpobject !=null)
{
var url="info.php";
url=url+"?str="+str;
url=url+"&length="+length;
httpobject.onreadystatechange=stateChanged;
httpobject.open("GET",url,true);
httpobject.send(null);
}
}
else
{
document.getElementById("autoSuggestionsList").inn erHTML="";

}

}

function stateChanged()
{
if (httpobject.readyState==4)
{
document.getElementById("autoSuggestionsList").inn erHTML=httpobject.responseText;

}
}

function GetHttpObject()
{
if (window.ActiveXObject)
return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
return new XMLHttpRequest();
else
{
alert("Your browser does not support AJAX.");
return null;
}
}


-----------------------------sql--------------------------------------------------------------

-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 09-06-2010 a las 17:42:54
-- Versión del servidor: 5.1.37
-- Versión de PHP: 5.3.0

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `zafra`
--
CREATE DATABASE `zafra` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `zafra`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `calles`
--

CREATE TABLE IF NOT EXISTS `calles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre_calle` varchar(80) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Volcar la base de datos para la tabla `calles`
--

INSERT INTO `calles` (`id`, `nombre_calle`) VALUES
(1, 'Sevilla, calle'),
(2, 'De la estacion, carretera');
  #2 (permalink)  
Antiguo 09/06/2010, 10:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sacar variable de un imput con autocomplete

Debes colocar el campo donde se rellena el dato en un formulario y enviarlo a la página que procesa los datos y realiza las acciones correspondientes.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/06/2010, 10:17
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: sacar variable de un imput con autocomplete

ok entendido, pero al pulsar sobre un campo despues no se me pone en lo k seria el imput, me sale escrito indefined o algo asi, me explico?? ahora cuando lo pulso no se me completa el imput
  #4 (permalink)  
Antiguo 09/06/2010, 10:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sacar variable de un imput con autocomplete

El problema es que usas this.value cuando los <td> no tienen esa propiedad. Usa en su lugar innerHTML.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 09/06/2010, 10:25
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: sacar variable de un imput con autocomplete

<div>
<input style="width: 200px;" id="name" onkeyup="getInfo(this.innerHTML,200)" type="text" />
<div onclick="" id="autoSuggestionsList" style="position: relative; top: -4px; width='100px;'" >

</div>

e probado algo asi pero no funciona?? dame un pista no??
  #6 (permalink)  
Antiguo 09/06/2010, 10:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sacar variable de un imput con autocomplete

No me refiero a la propiedad value del <input>, esa parte es correcta.

Me refiero a cuando haces click en la celda (<td>), estás intentando usar la propiedad value, es allí donde debes usar innerHTML.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 09/06/2010, 10:49
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: sacar variable de un imput con autocomplete

ok muchas gracias ya funciona guay, pero no se me cierra la lista de valores, como puedo hacerlo???
  #8 (permalink)  
Antiguo 09/06/2010, 10:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sacar variable de un imput con autocomplete

Al momento de pasar el valor al input, puedes volver a vaciar la lista (innerHTML = "") u ocultarlo cambiando su estilo a display:none (si es el caso, tendrías que volver a cambiar el estilo si se carga de nuevo la lista)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 09/06/2010, 11:20
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: sacar variable de un imput con autocomplete

muchas gracias amigo, todo perfecto, un saudo

Etiquetas: imput, variables, autocompletado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.