Ir para conteúdo

POWERED BY:

Arquivado

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

clagils

Google Suggest com asp

Recommended Posts

e ae galera to presisando de uma ajuda é q eu estou tenho q usar um esquema tipo Google Suggest em um formularioso q eu so acho exemplos em PHP e eu nao sei nem uma linha dessa linhaguagem alguem sabe onde em posso arranjar um tutorial em ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother ..!beleza?Olha só ..O Google Suggest nada mais eh .. do que um campo TEXT .. com função JAVASCRIPT .. que utiliza AJAX para interagir com o ASP e com o Banco de Dados!Bem .. eu tentei fazer isso aqui num sisteminha meu .. mas não consegui também.Vou lhe explicar pq:- Eu montei uma pagina .. que a cada letra digitada, fazia uma consulta ào banco de dados .. usando AJAX .. e retornava todas as palavras q começavam com aquela letra.Até aí beleza.. é facil de fazer.Porém.. eu esbarrei no Javascript!Não consegui criar um javascript que fizesse aquele efeito .. de auto completar!Eu tinha todas as palavras pra escrever .. só não sabia como escrever .. hehehevocê tem noção de como montar aquele javascript, ou não chegou nisso ainda?Pois .. se você sabe trabalhar com Ajax.. o lance de consultar o banco é barbada de fazer .. mas o problema fica só no Javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

pô.....você consegue fazer a busca das palavras e nao consegue retornar o resutado em uma div ?mas se você quer retornar o valor no proprio campo isso ajudadocument.ID_Formulario.ID_Campo.value="Valor_Retornado"

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse ai não usa banco de dados, ele tem um array dentro do arquivo js, basta criar uma conexão com banco e fazer uma rotina pra transformar na repetição em arrai e incrementar uma variavel....já fiz isso e funciona, porém se tiver muitos dados pra carregar o usuário desiste de esperar......google é uma coisa, tentativa "caseira" é outra

 

 

 

http://www.Planet-Source-Code.com/vb/scrip...22&lngWId=4

Compartilhar este post


Link para o post
Compartilhar em outros sites

clagils..eu sou meio leigo em js viu.. rsSei muito bem asp .. js eu até achava que sabia bastante .. rs ..mas to vendo q nao sei nada heheheAssim.. eu tentei com DIV .. mas no FF nao rolou.. entao, como to usando só FF aqui .. nem tentei mais.Dei uma procurada na net .. e vi uns codigos gigantes de JS pra fazer uma coisinha daquelas .. entao desisti, heheheSe eu conseguir escrever as palavras flutuando na frente do text .. fica facinho de completar o codigo .. heheheAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

en tao veio pega ai esse codigo q vai funcionar perfeito entao

 

 

o seu formulario

1.htm

<html><head><script src="clienthint.js"></script> </head><body><form> escreva:<input type="text" id="txt1"onkeyup="showHint(this.value)"></form><p>Sugestoes: <span id="txtHint"></span></p> </body></html>

 

 

 

este é o codigo em ajax

 

clienthint.js

var xmlHttpfunction showHint(str){ if (str.length > 0){ var url="gethint.asp?sid=" + Math.random() + "&q=" + strxmlHttp=GetXmlHttpObject(stateChanged)xmlHttp.open("GET", url , true)xmlHttp.send(null)} else{ document.getElementById("txtHint").innerHTML=""} } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById("txtHint").innerHTML=xmlHttp.responseText } } function GetXmlHttpObject(handler){ var objXmlHttp=nullif (navigator.userAgent.indexOf("Opera")>=0){alert("This example doesn't work in Opera") return }if (navigator.userAgent.indexOf("MSIE")>=0){ var strName="Msxml2.XMLHTTP"if (navigator.appVersion.indexOf("MSIE 5.5")>=0){strName="Microsoft.XMLHTTP"} try{ objXmlHttp=new ActiveXObject(strName)objXmlHttp.onreadystatechange=handler return objXmlHttp} catch(e){ alert("Error. Scripting for ActiveX might be disabled") return } } if (navigator.userAgent.indexOf("Mozilla")>=0){objXmlHttp=new XMLHttpRequest()objXmlHttp.onload=handlerobjXmlHttp.onerror=handler return objXmlHttp}}

 

 

esta é a pagina q tem os registros

 

gethint.asp

<%dim a(6)a(1)="aaaaaa"a(2)="bbbbbb"a(3)="ccccc"a(4)="aaaaggg"a(5)="aarrrrr"a(6)="fffffffff"q=request.querystring("q")  for i=1 to 6	if q = mid(a(i),1,len(q)) then	  hint=hint & " , " & a(i)	  end if  nextif hint="" then   response.write("Sem Sugestoes")elseresponse.write(hint)  response.write("<br>")	response.write(var)end if%>

no meu caso tem 6 registros ja predefinidos sendo retornado em um array

 

oq eu nao sei fazer é puxar os registro de um banco de dados e retorna-los em um array da mesma forma q esse

Compartilhar este post


Link para o post
Compartilhar em outros sites

po pessoal me da uma ajudinha ae

 

 

eu to tentando fazer funcionar com recuperaçoa de valores do bd, so q nao ta funcinando

 

<%dim conecdim conexaodim gravaconec = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd.mdb")Set conexao = Server.CreateObject("ADODB.Connection")conexao.Open conec%><%dim sql2dim conrs2set grava= conexao.execute("SELECT * FROM nomes")set conrs2= conexao.Execute("SELECT count(*) as nregistros FROM nomes")total=CInt(conrs2("nregistros"))%><%response.write totaldim a(total)Do While Not grava.Eofa(grava("id"))=grava("nome_user")grava.MoveNextLoopq=request.querystring("q")  for i=1 to total	if q = mid(a(i),1,len(q)) then	  hint= hint & " , " & a(i)	  end if  nextif hint="" then   response.write("Sem Sugestoes")elseresponse.write(hint)  response.write("<br>")	response.write(var)end if%>

o problema ta cendo em fazer o array

 

c eu coloco um numero direto tipo ex.20

ele funciona agora c eu colocar o numero de retorno de contagem de registros q no caso é 20 tb ele retorna erro

 

 

o erro repostado é esse

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0402)

Constante inteira esperada

1/gethint.asp, line 20, column 6

dim a(total)

 

 

oq estaria errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. o codigo q você mandou .. escreve a sugestão embaixo..Isso é barbada mesmo..A questao, era como escrever aquele dropzinho q o google coloca quando eh digitada alguma letra.. heheEscrever assim eh só dar um innerhtml .. e pronto..Mas dexa quieto .. um dia eu posto isso no js e peço um help pros brothers de láQuando eu acabar um sistema aqui, 100% ajax .. eu mostro pra vcs .. ta ficando bom .. rsAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

po o dropizinho to fazendo agora

saca ae

 

1.htm

<html><head><script src="clienthint.js"></script><style type="text/css"><!--.teste{	font-family: Geneva, Arial, Helvetica, sans-serif;	font-size: 13px;	background-color: #F0F0F0;	overflow: auto;		height: auto;	width: 200px;}.caixa{	font-family: Geneva, Arial, Helvetica, sans-serif;	font-size: 13px;	width: 150px;}--></style></head><body><form name="form1"> escreva:<input type="text" id="txt1" onkeyup="showHint(this.value)"><div id="txtHint" class="teste" align="center"></div></form></body></html>

 

 

gethint.asp

<%dim conecdim conexaodim gravadim conrs2conec = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("db.mdb")Set conexao = Server.CreateObject("ADODB.Connection")conexao.Open conecset grava= conexao.execute("SELECT * FROM nomes")set conrs2= conexao.Execute("SELECT count(*) as nregistros FROM nomes")total=conrs2("nregistros")Dim a()Redim a(total)Do While Not grava.Eofa(grava("id"))=grava("nome_empresa")grava.MoveNextLoopq=request.querystring("q")  for i=1 to total	if q = mid(a(i),1,len(q)) then	  hint= "<option value="&a(i)&">"& a(i) & "</option>" & hint	  end if  nextif hint="" then response.write "<select name=""menu"" class=""caixa"">"response.write "<option> -- Nova Empresa --</option>" & hintresponse.write "</select>"elseresponse.write "<select name=""menu"" onChange="" document.form1.txt1.value=this.value"" class=""caixa"">"response.write hintresponse.write "</select>"end ifconexao.closeset conrs2=Nothingset grava=Nothingset conexao=Nothing%>

 

 

 

com isso ja da para aparecer o munu drop

 

fwl e um abraço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.