Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Difurlan

[Resolvido] auto-completar

Recommended Posts

Capile,

 

Eu consegui sim cara, deu certo.

 

repare se o seu código está conforme este aqui:

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

 

<script> new Autocomplete("consumerName", function() { $("consumerID").value = ""; return "consumers.php?q=" + this.value; });</script>

 

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

veja aí e poste...

Compartilhar este post


Link para o post
Compartilhar em outros sites

blza .. mas eu to apanhando ainda aki..

 

eu mechi muito no codigo .. agora to me batendo ..

 

se quiser ma der uma força eu ate tinha postado de novo esse topico pro pessoal dar uma força

 

segue meu codigo

meu db =test

tabela consumers

com os campos id e nome..

vo tenta.. aki do inicio..

se você ver algum erro berra ai ..

valew..

 

sample.php

 

<html>

<head>

<title>autocomplete</title>

<script type="text/javascript" src="prototype.js"></script>

<script type="text/javascript" src="autocomplete.js"></script>

<link rel="stylesheet" type="text/css" href="styles/autocomplete.css" />

<style>

body {

background-color: #fff;

}

* {

font: 12.5px sans-serif;

}

</style>

</head>

<body>

 

<form>

<table>

<tr>

<td> ID: </td>

<td> <input name="ID" id="consumerID" size="4"/> </td>

</tr>

<tr>

<td> Name: </td>

<td> <input type="text" name="Name" size="18"/> </td>

</tr>

</table>

<label></label>

</form>

 

<script>

new Autocomplete("Name", function() { $("consumerID").value = ""; return 'index.php?q=' + this.value; });</script>

 

});

</script>

 

</body>

</html>

 

 

 

index.php

 

<?php

$hostname = "127.0.0.1";

$username = "root";

$password = "";

$dbname = "test";

 

mysql_connect( $hostname, $username, $password ) or die ("Unable to connect to database!");

mysql_select_db( $dbname );

 

$q = $_GET["q"];

 

mysql_query("set names utf8");

 

$pagesize = 50;

 

 

$sql = "select * from consumers where name like '%$q%'";

 

 

 

 

 

$results = mysql_query($sql);

 

while ($row = mysql_fetch_array( $results )) {

$id = $row["id"];

$name = ucwords( strtolower( $row["name"] ) );

$html_name = preg_replace("/(" . $q . ")/i", "<b>\$1</b>", $name);

 

echo "<li onselect=\"this.text.value = '$name'; $('ID').value = '$id'; \"><span>$id</span>" . htmlentities(urldecode($name)). "</li>\n";

}

 

 

 

mysql_close();

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, alguém sabe como fazer sumir... o "Powered By CreateWebApp.com" que fica abaixo do campo input, se eu removo ele... no autocomplete.js.. o script para de funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então estou usando o código que tem para download: http://createwebapp.com/

 

Mas já consegui remover o texto, fui procurando no codigo javascript, até achar a opção que coloca esse texto no campo. Tava vindo postar aqui para falar que tinha conseguido. O Problema tava nessa parte do código...

 

if(!cwa.y(ac))

{

new Insertion.After(this.text,cwa.w());

ac.u(this.text);

};

 

Então mudei para

 

if(cwa.y(ac))

{

new Insertion.After(this.text,cwa.w());

ac.u(this.text);

};

 

Foi só remover ! do cwa que sumiu o texto...

 

Não sei se é o modo correto mais está funcionando certinho aqui. Usando banco MySQl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente... tive que arrumar o código que estava tudo junto... sem espaço sem pular linha.. demorei um bom tempo.

 

Só que já tinha achado onde o cara declarava os créditos. Então apaguei os créditos e não funcionava auto-completar.

 

Então comecei a dar busca no código, pela variável w que ele declarou:

w:function()

{

return"<a style='padding: 2px 0; font-size:9px !important;display:block !important;color:#000 !important;background:#fff !important;visibility:visible !important;text-indent:0px !important; text-decoration:underline;' href='http://createwebapp.com/purchase'>Powered By CreateWebApp.com</a>";

}

 

Porque sabia que devia ter alguma validação nesse código. Já que qualquer alteração na declaração dos créditos mudar o tamanho da fonte, cor... parava de funcionar.

 

Então Achei:

if(!cwa.y(ac))

{

new Insertion.After(this.text,cwa.w());

ac.u(this.text);

};

Aqui vi que ele chamava a variável w e inseria na página. Então vi a ! e pensei nela no sentido de negação.

E sinceramente não sabia se ia funcionar, e removi pensando que ele verifica se fosse negação o cwa.y(ac) era para inserir os créditos. Então continuei analisando o código e reparei que cwa recebe as declarações, que são verificadas durante o código. Como a parte acima é a unica vez que vejo como sendo responsável por inserir os crédito, tive mais certeza que ia funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.