Ir para conteúdo

POWERED BY:

Arquivado

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

Gusvato

Problema pra carregamento de informações

Recommended Posts

Boa tarde.

Tenho uma página de cadastro, e estou com problema pra aparecer as informações com ajax.

É na Locaweb, então a partir do cep eu já tenho como informações a cidade, o estado e o bairro, e preciso trazer essas informações dinamicamente para minha página.

Tentei assim:

 

<input type="text" size="10" maxlength="8" name="CEPDestino" onBlur="showEnderecoRua(this.value);" value="<%=CEPDestino%>">

 

E a informação de retorno viria em divs:

Endereço: <div id="txtEnde"></div>

Bairro: <div id="txtBairro"></div>

Cidade: <div id="txtCidade"></div>

Estado: <div id="txtEstado"></div>

 

A função showEndereco(this.value) é a seguinte:

 

function showEnderecoRua(str)

{

xmlHttp=GetXmlHttpObjectEnd()

if (xmlHttp==null)

{

alert ("Browser does not support HTTP Request")

return

}

var url="cepRua.asp"

url=url+"?q="+str

url=url+"&sid="+Math.random()

xmlHttp.onreadystatechange=stateChanged1

xmlHttp.open("GET",url,true)

xmlHttp.send(null)

}

 

function GetXmlHttpObjectEnd()

{

var objXMLHttp=null

if (window.XMLHttpRequest)

{

objXMLHttp=new XMLHttpRequest()

}

else if (window.ActiveXObject)

{

objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

}

return objXMLHttp

}

 

function stateChanged1()

{

if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")

{

document.getElementById("txtEnde").innerHTML=xmlHttp.responseText

}

}

 

E a página CepRua.asp é a seguinte:

 

<%call PegaEndereco(RequestValue("q"))

Endereco = session("Endereco")

response.write Endereco%>

 

O Endereço eu consigo colocar numa boa na div txtEnde.

Meu problema é quando tento colocar o bairro, a cidade e o estado, não consigo fazer funcionar.

Tentei fazer, a partir do onblur, mais 3 funções, uma que mostrasse a cidade, outra o bairro e outra a cidade, em suas respectivas divs e com funções diferentes, com páginas asp diferentes e usando o mesmo método, response.write(), mas não consegui fazer isso funcionar.

Sempre mostrava o valor na última div, e era sempre a informação que deveria constar na primeira div, o endereço.

 

Deve ser algum erro bem idiota esse, mas não estou conseguindo contornar.

Se alguém pudesse me ajudar, agradeço.

Gustavo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago.

A função funcionou, o problema é que dentro do meu form, ela não atualiza 2 campos

 

<input type="text" size="10" maxlength="8" name="CEPDestino" onBlur="showEnderecoRua(this.value, 'txtEnde', 'cepRua.asp');showEnderecoRua(this.value, 'divBairro', 'cepBairro.asp');" value="<%=CEPDestino%>">

o cepBairro.asp é o seguinte:

<!--#include file="include/funcoes.asp" --><%bairro = session("bairro")response.write bairro%>

e o cepRua.asp é o seguinte:

<!--#include file="include/funcoes.asp" --><%call PegaEndereco(RequestValue("q"))Endereco = session("Endereco")response.write Endereco%>

o retorno da função seria nos divs txtEnde e divBairro e apareceria, respectivamente, o endereço e o bairro do endereço, nesse exemplo, além da cidade e do estado, no real.

o problema é que não aparecem todas essas informações.

No caso desse exemplo que eu rodei, só apareceu a informação do bairro, não apareceu a rua.

Aparece a rua do endereço somente quando eu faço só a chamada da rua, sem o bairro, sem o estado e sem a cidade.

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.