Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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="](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);}
);
-->
Carregando comentários...