Logo Hardware.com.br
Paulo Iamanaka
Paulo Iamana... Veterano Registrado
1K Mensagens 11 Curtidas

Arquivo js não está rodando dentro de um programa em php, no firefox

#1 Por Paulo Iamana... 28/04/2008 - 15:57
São duas caixas combo. Uma padrão, e outra para receber informações de acordo com a escolha na primeira página. Quando escolho um item da primeira, a mensagem "carregando" fica na segunda caixa e não carrega as minhas informações.


Servidor: Apache, php 5
Browser: Firefox. (Ie está funcionando corretamente)

[]´s
Paulo Iamanaka
Paulo Iamana... Veterano Registrado
1K Mensagens 11 Curtidas
#3 Por Paulo Iamana...
28/04/2008 - 17:16
[code=rich]function iniciaAjax()
{
//verifica se o navegado é o Iternet Explorer ou outros navegadores
if(window.ActiveXObject)
{
//estância o objeto ActiveX
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
ajax = new XMLHttpRequest(); /// deveria rodar firefox? Qual linha?
}

return ajax;
}

function carregando()
{
//limpa as cidades já existentes
document.getElementById('cidades').innerHTML = "";
//pega o local onde a combo de cidades será exibida]
var local = document.getElementById('cidades');

//cria uma combo select
var combo = document.createElement('select');
combo.setAttribute('name','cidade');
combo.setAttribute('id','cidade');

var opcao = document.createElement('option');
opcao.setAttribute('value', 00);
opcao.appendChild(document.createTextNode("Carregando..."));

//adiciona essa opção na combo
combo.appendChild(opcao);

//coloca a combo dentro do div
local.appendChild(combo);
}

function mostrarCidades(idEstado)
{
//informa que está carregando as cidades
carregando();


//inicia o AJAX
ajax = iniciaAjax();

ajax.onreadystatechange = mostrarCidades2;

//abre a conexão com o servidor
ajax.open("GET", "cidades_xml.php?idEstado="+idEstado);

//envia a requisição para o servidor
ajax.send();
}

function mostrarCidades2()
{
//verifica o status da requisição, se for o processamento está completo
if (ajax.readyState == 4)
{
//verifica o número do status, se for diferente de 200 tem algum erro
if (ajax.status == 200)
{
var xml = ajax.responseXML;
if(xml != null)
{
if(xml.hasChildNodes())
{
//limpa as cidades já existentes
document.getElementById('cidades').innerHTML = "";

//pega o local onde a combo de cidades será exibida]
var local = document.getElementById('cidades');

//cria uma combo select
var combo = document.createElement('select');
combo.setAttribute('name','cidade');
combo.setAttribute('id','cidade');

//pega todas as cidades qae retornou do XML
var nos = xml.getElementsByTagName('cidade');

//faz um loop para percorrer todas as tags produto
for(cont = 0; cont < nos.length; cont++)
{
//verifica se é o IE
if(window.ActiveXObject)
{
var idCidade = nos[cont].childNodes[0].firstChild.nodeValue;
var cidade = nos[cont].childNodes[1].firstChild.nodeValue;
}
else
{
var idCidade = nos[cont].childNodes[1].firstChild.nodeValue;
var cidade = nos[cont].childNodes[3].firstChild.nodeValue;
}

//cria um option do select
var opcao = document.createElement('option');
opcao.setAttribute('value', idCidade);
opcao.appendChild(document.createTextNode(cidade));

//adiciona essa opção na combo
combo.appendChild(opcao);

}

//coloca a combo dentro do div
local.appendChild(combo);
}
}
}
else
{
alert("Houve um problema ao carregar a lista de cidades:\n" + ajax.statusText);
}
}
} [/code]
---------------------------
Visite Hujihona
Paulo Iamanaka
Paulo Iamana... Veterano Registrado
1K Mensagens 11 Curtidas
#5 Por Paulo Iamana...
28/04/2008 - 18:00
[code=rich]
{
//verifica se o navegado é o Iternet Explorer ou outros navegadores
if(window.ActiveXObject)
{
//estância o objeto ActiveX
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
ajax = new XMLHttpRequest(); /// deveria rodar firefox? Qual linha?
}

return ajax;
}[/code]
Brother, está ali .. ou não funciona dessa forma?
---------------------------
Visite Hujihona
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal