Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

Meu script não funciona no firefox

Recommended Posts

Olá pessoal,

 

O codigo abaixo é para qdo for preenchido o campo cep do formulário, os campos rua, bairro, cidade e estado são automaticamente preenchidos. Ele funciona perfeitamenta no IE, mas não funciona no firefox, pq será?

Não entendo mto bem javascript, por isso ainda não consegui arrumar.

 

<!--

function verifica(event){

var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

var caract = new RegExp(/[0-9]+$/i);

var caract = caract.test(String.fromCharCode(keyCode));

 

if(!caract){

//alert("Caracter inválido: " +String.fromCharCode(keyCode));

keyCode=0;

return false;

}

}

 

 

 

function addEvent(obj, evt, func) {

if (obj.attachEvent) {

return obj.attachEvent(("on"+evt), func);

} else if (obj.addEventListener) {

obj.addEventListener(evt, func, true);

return true;

}

return false;

}

 

 

function XMLHTTPRequest() {

try {

return new XMLHttpRequest(); // FF, Safari, Konqueror, Opera, ...

} catch(ee) {

try {

return new ActiveXObject("Msxml2.XMLHTTP"); // activeX (IE5.5+/MSXML2+)

} catch(e) {

try {

return new ActiveXObject("Microsoft.XMLHTTP"); // activeX (IE5+/MSXML1)

} catch(E) {

return false; // doesn't support

}

}

}

}

 

function buscarEndereco() {

var campos = {

cep: document.getElementById("cep"),

logradouro: document.getElementById("logradouro"),

//numero: document.getElementById("numero"),

bairro: document.getElementById("bairro"),

localidade: document.getElementById("localidade"),

uf: document.getElementById("uf")

};

var ajax = XMLHTTPRequest();

ajax.open("GET", ("http://www.site.com.br/Leitor.asp?cep=" + campos.cep.value.replace(/[^\d]*/, "")), true);

ajax.onreadystatechange = function() {

if (ajax.readyState == 1) {

campos.logradouro.disabled = true;

campos.bairro.disabled = true;

campos.localidade.disabled = true;

campos.uf.disabled = true;

campos.logradouro.value = "carregando...";

campos.bairro.value = "carregando...";

campos.localidade.value = "carregando...";

//campos.uf.value = "carregando...";

} else if (ajax.readyState == 4) {

var r = ajax.responseText, i, logradouro, bairro, localidade, uf;

logradouro = r.substring(0, (i = r.indexOf(',')));

r = r.substring(++i);

bairro = r.substring(0, (i = r.indexOf(',')));

r = r.substring(++i);

localidade = r.substring(0, (i = r.indexOf(',')));

r = r.substring(++i);

uf = r.substring(0, (i = r.indexOf(',')));

//r = r.substring(++i);

campos.logradouro.disabled = false;

campos.bairro.disabled = false;

campos.localidade.disabled = false;

campos.uf.disabled = false;

campos.logradouro.value = logradouro;

campos.bairro.value = bairro;

campos.localidade.value = localidade;

//campos.uf.value = uf;

 

i = campos.uf.options.length;

while (i--) {

if (campos.uf.options.getAttribute("value") == uf) {

break;

}

}

campos.uf.selectedIndex = i;

}

};

ajax.send(null);

}

 

 

window.addEvent(

window,

"load",

function() {window.addEvent(document.getElementById("cep"), "blur", buscarEndereco);}

);

 

-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá natalia, tudo bem?

 

No momento não tenho oportunidade de testar, mas acredito que o problema seja no final do seu código.

Substitua isso:

window.addEvent(
window,
"load",
function() {window.addEvent(document.getElementById("cep"), "blur", buscarEndereco);}
);

por isso:

onload = function() {addEvent(document.getElementById("cep"), "blur", buscarEndereco);}

Veja se funciona por favor.

 

Beijos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual erro que dá?

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.