Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo coelho designer

Auto completar

Recommended Posts

Boa tarde!

 

Pessoal estou mais uma vez aqui solicitando a ajuda de vcs bom vamos lá.

 

Preciso fazer uma busca de auto completar, bom em javascript roda tudo bem, pois os valores estão dentro do script, o que eu preciso é que ele busque da base de dados, só que toda vez que faço isso ele busca somente um nome e não todos, a questão é como faço para o valor autocompletar pegue da base de dados.

 

Segue abaixo exemplo:

 

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\busca\dados.mdb;"
Set RS = Server.CreateObject("ADODB.Recordset")
%>
<%
SQLStmt = "SELECT * FROM TBL ORDER BY id desc"
RS.Open SQLstmt,Conn
%>
<% While Not RS.EOF %>
 <% email = rs ("email")%>

 <%
RS.MoveNext
Wend
RS.close
%>

<script>
var arvore = new Array("<%= email %>");

Compartilhar este post


Link para o post
Compartilhar em outros sites

A vírgula tem que estar dentro do ASP

 

<% While Not RS.EOF %>

<% email = email & rs ("email") & ","%>

 

Pessoal até deu certo... mas quando ele faz a busca só quando coloca a letra a, mas fica tudo em uma única linha, e pega todas as letras não somente a que digitei, a seguir a base do arquivo inicial que aparece uma busca de baixo da outra certinho.

 

var arvore = new Array("abcdefghije",

"aTestando!!!!",

"ahahaha",

"atesteee",

"abc", "abt",

"acd", "aaaaat",

"agoogle.com",

"aimasters.com.br",

"A_vitor",

"ateste",

"ajavascript",

"autocompletar",

"asp",

"br",

"b",

"barba",

"ber");

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% email = email & "'"&rs ("email") & "'"","%>

 

 

problema é que o javscript está se perdendo com as aspas. Veja se funciona como coloquei acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% email = email & "'"&rs ("email") & "'"","%>

 

 

problema é que o javscript está se perdendo com as aspas. Veja se funciona como coloquei acima

Pessoal não está dando certo, vou colocar o código completo e ver se conseguimos encontrar alguma saída para esse problema.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0054)http://conteudo.imasters.com.br/3629/autocompletar.htm -->
<HTML><HEAD><TITLE>AUTO COMPLETAR</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE>INPUT {
BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #666666 1px solid; COLOR: #000000; BORDER-BOTTOM: #666666 1px solid; FONT-STYLE: normal; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #ffffff
}
</STYLE>

<META content="MSHTML 6.00.2900.2912" name=GENERATOR></HEAD>
<BODY text=black vLink=purple aLink=red link=blue bgColor=white>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle>
<H3 align=center> </H3>
<H3 align=center> </H3>
<H3 align=center></H3>
<H4 align=center>AUTO COMPLETAR</H4>
<FORM name="" action="" method=post>
<TABLE class=BordaTable cellSpacing=0 cellPadding=8 width=443 align=center
border=1>
<TBODY>
<TR>
<TD align=middle width=427>Digite o e-mail que procura: <INPUT id=textbox1 onkeyup=checkList(this,arvore) name=Tcodigos> </TD></TR></TBODY></TABLE>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\hoje\24032008\dados\novodados.mdb;"
Set RS = Server.CreateObject("ADODB.Recordset")
%>
<%
SQLStmt = "SELECT * FROM cadastros"
RS.Open SQLstmt,Conn
%>
<% While Not RS.EOF %>
<% email = email & "'"&rs ("email") & "'"","%>

 <%
RS.MoveNext
Wend
RS.close
%>

<script>
var arvore = new Array(<%= email %>);

document.write('<style type="text/css">'+
'#listHolder{position:absolute;border:0;}'+
'.list{font-family:verdana;font-size:10;color:#000000;background:;}'+
'<\/style>')

function checkList(obj,nStr) {

var k = event.keyCode;
var T = findPosY(obj); //top
var L = findPosX(obj); //left
var list = document.getElementById('listHolder');

if(!list) {
var list = document.createElement('DIV');
list.id = 'listHolder';
document.body.appendChild(list);
}

list.style.top=(T+obj.offsetHeight);
list.style.left=L;
list.style.display='none';

var txt=obj.value;

if (txt) {
var str='<select class="list"'+
'onclick="setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)"'+
'onkeyup="if(event.keyCode==13){setOption(\''+obj.id+'\','+
'this.options[this.selectedIndex].value)};if(event.keyCode==27){'+
'document.getElementById(\'listHolder\').style.display=\'none\';'+
'document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="6">'
var match=false
for(a=0;a<nStr.length;a++){

if(txt.toLowerCase()==nStr[a].toLowerCase().substring(0,txt.length)){
match=true
str+=('<option value="'+nStr[a].replace(/\'/gi,'’')+'">'+nStr[a]+'</option>')
}
}

str+='</select>'
if(match){
list.innerHTML=str
list.style.display='block'
var sel=document.getElementById('selector')
if(k=='40') {
sel.focus()
}

if(k=='13'){
document.getElementById('listHolder').style.display='none'
}
}
}
}

function setOption(obj,val){

var obj=document.getElementById(obj)

obj.value=val;
obj.focus()
document.getElementById('listHolder').style.display='none'
}

function findPosX(obj){
var curleft=0;
if(obj.offsetParent) {

while(obj.offsetParent){
curleft+=obj.offsetLeft
obj=obj.offsetParent;
}
} else if(obj.x)
curleft+=obj.x;
return curleft;
}

function findPosY(obj){
var curtop=0;
if(obj.offsetParent){
while(obj.offsetParent){
curtop+=obj.offsetTop
obj=obj.offsetParent;
}
} else if(obj.y)
curtop+=obj.y;
return curtop;
}
</SCRIPT>
</FORM></TR></TBODY></TABLE></BODY></HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, há um tempo mexi com este mesmo script mas tinha algumas incompatibilidades, mas acho que aqui:

 

var arvore = new Array("abcdefghije",

"aTestando!!!!",

"ahahaha",

"atesteee",

"abc", "abt",

"acd", "aaaaat",

"agoogle.com",

"aimasters.com.br",

"A_vitor",

"ateste",

"ajavascript",

"autocompletar",

"asp",

"br",

"b",

"barba",

"ber");

 

Ficaria:

 

var arvore = new Array(

 

"<%Response.Write email%>",<BR>

 

);

 

Tenta lá, lógico que antes e depois tem que vir o script do while e Move Next

 

qualquer coisa posta ai...

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, há um tempo mexi com este mesmo script mas tinha algumas incompatibilidades, mas acho que aqui:

 

var arvore = new Array("abcdefghije",

"aTestando!!!!",

"ahahaha",

"atesteee",

"abc", "abt",

"acd", "aaaaat",

"agoogle.com",

"aimasters.com.br",

"A_vitor",

"ateste",

"ajavascript",

"autocompletar",

"asp",

"br",

"b",

"barba",

"ber");

 

Ficaria:

 

var arvore = new Array(

 

"<%Response.Write email%>",<BR>

 

);

 

Tenta lá, lógico que antes e depois tem que vir o script do while e Move Next

 

qualquer coisa posta ai...

Xavier

Pessoal não dá certo da erro de script dessa forma

<%

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\hoje\24032008\dados\novodados.mdb;"

Set RS = Server.CreateObject("ADODB.Recordset")

%>

<%

SQLStmt = "SELECT * FROM cadastros"

RS.Open SQLstmt,Conn

%>

<% While Not RS.EOF %>

<% email = email &rs ("email") & ","%>

 

<%

RS.MoveNext

Wend

RS.close

%>

 

<script>

var arvore = new Array("<%=email%>");

 

ele até que busca mais só quando digito a letra A só que ele busca na base de dados todos os registros.... Não sei mais o que fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, há um tempo mexi com este mesmo script mas tinha algumas incompatibilidades, mas acho que aqui:

 

var arvore = new Array("abcdefghije",

"aTestando!!!!",

"ahahaha",

"atesteee",

"abc", "abt",

"acd", "aaaaat",

"agoogle.com",

"aimasters.com.br",

"A_vitor",

"ateste",

"ajavascript",

"autocompletar",

"asp",

"br",

"b",

"barba",

"ber");

 

Ficaria:

 

var arvore = new Array(

 

"<%Response.Write email%>",<BR>

 

);

 

Tenta lá, lógico que antes e depois tem que vir o script do while e Move Next

 

qualquer coisa posta ai...

Xavier

Pessoal não dá certo da erro de script dessa forma

<%

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\hoje\24032008\dados\novodados.mdb;"

Set RS = Server.CreateObject("ADODB.Recordset")

%>

<%

SQLStmt = "SELECT * FROM cadastros"

RS.Open SQLstmt,Conn

%>

<% While Not RS.EOF %>

<% email = email &rs ("email") & ","%>

 

<%

RS.MoveNext

Wend

RS.close

%>

 

<script>

var arvore = new Array("<%=email%>");

 

ele até que busca mais só quando digito a letra A só que ele busca na base de dados todos os registros.... Não sei mais o que fazer...

 

 

Pessoal já tentei de tudo alguém teria alguma outra idéia mais viavel de como fazer um auto-completar pegando resultados de BD, pois este realmente não estou conseguindo sair disso.

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.