Conheça a ferramenta de busca - Busca PHP. Ela faz uma pesquisa nos sites mais importantes sobre a linguagem, e trará pra você resultados exepcionais!! Estamos customizando o serviço ainda, que você pode conferir no menu a direita....
 

Pesquisar

Login






Esqueceu sua senha?
Atualizando selects com ajax Imprimir
Ajax
Por Ricardo Maia   
02 de outubro de 2006
Índice de Artigos
Atualizando selects com ajax
Página 2
Página 3
Página 4

Neste artigo serão demonstradas duas formas de realizar atualizações de SELECTS html com ajax. A primeira, muito simples utilizando o retorno em HTML e o segundo script manipulando um retorno em XML. Então vamos lá...

Os arquivos utilizados neste artigo podem ser baixados no link abaixo

ajax.tar.gz

Para acesso ao exemplo de resposta em HTML clique abaixo

resposta HTML

Resposta em HTML

Para ambos os tipos de resposta utilizaremos 03 arquivos. Um arquivo com as funções javascript, uma página em html que servirá de interface e finalmente uma página em PHP que irá processar as requisições devolvento em HTML ou XML, conforme o caso.

(ajax2.js)

function criaObjetoAjax() {
if(window.XMLHttpRequest) {
try {
objeto = new XMLHttpRequest();
} catch(e) {
objeto = false;
}
} else if(window.ActiveXObject) {
try {
objeto = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
objeto = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
objeto = false;
}
}
}
return objeto;
}
//-------------------------------------------------------------
function fazRequest(url,metodo,funcao_retorno){
//o metodo pode ser GET ou POST
objAjax = criaObjetoAjax();
try{
objAjax.open(metodo, url, true);
objAjax.setRequestHeader('Content-Type',
"text/xml");
objAjax.onreadystatechange = function(){
if (objAjax.readyState==4){
retornoHTML = objAjax.responseText;
mostraCarregando('div_status_carregamento',0,'');
eval(funcao_retorno+'(retornoHTML)');
}
}
objAjax.send(null);
}
catch(e){
alert('Falha na comunicação.');
}
finally{}
mostraCarregando("div_status_carregamento",1,"<img src='bar.gif' align='absmiddle'>
carregando...");
//lembre-se! a imagem 'bar.gif' deve existir no servidor :)
}
//-------------------------------------------------------------
function mostraCarregando(obj_div,on_off,msg){
if(on_off == 1){
container_status = document.getElementById(obj_div);
container_status.innerHTML = msg;
container_status.style.visibility = 'visible';
}else{
container_status = document.getElementById(obj_div);
container_status.innerHTML = "";
container_status.style.visibility = 'hidden';
}
}
//-------------------------------------------------------------
function carregaCidades(id_uf){
fazRequest('gatewayHTML.php?par='+id_uf,'GET','mostraCidades')
}
function mostraCidades(respostaHTML){
combo = document.getElementById('cidades');
combo.innerHTML = respostaHTML
;
}
//-------------------------------------------------------------
 


Última Atualização ( 10 de janeiro de 2008 )
 

Itens Relacionados





Add to Technorati Favorites

Feed