Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, boa tarde.
Minha dúvida talvez seja simples, ou talvez nem tanto...
O caso é o seguinte, preciso criar um select com alguma opções dentro, no caso, podemos chamar de "pagina 1", "pagina 2" e "pagina 3".
Gostaria, que o usuário, ao clicar em uma dessas opções, a página carrega-se abaixo, mas sem "recarregar" a página, usando o evento onChange.
Consegui fazer algumas cambiarras usando onClick, porém, só funciona no Mozilla, eis o que consegui:
<select name="consulta">
<option onClick="javascript:carrega('pagina1.html', 'consulta');">Pagina 1</option>
<option onClick="javascript:carrega('pagina2.html', 'consulta');">Pagina 2</option>
<option onClick="javascript:carrega('pagina3.html', 'consulta');">Pagina 3</option>
</select>
<bdo id="consulta"></bdo>
No caso, ao clicar em algum menu, ele irá usar o js carrega, e irá carregar a página no BDO consulta.
Cambiarra? Nem me fale...
Como disse, isso apenas funciona no Mozilla, e não é a opção a ser usada neste caso, uso isso em MENUS.
Enfim...
Quem puder ajudar, fico grato.
Fala Bruno, obrigado pela atenção e pela resposta.
Bom, infelizmente continuou na mesma, o Mozilla continua a abrir, o IE deu um sinal de vida e CARREGA, mas não abre a página, simplesmente fica carregando, já no Chrome não houve resultados.
A função que estou usando é esta:
function ajaxRun(){
url = fila[ifila][0];
destino = fila[ifila][1];
xmlhttp.open("GET", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlhttp.setRequestHeader("Pragma", "no-cache");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
texto=unescape(xmlhttp.responseText.replace(/\+/g," "));
document.getElementById(destino).innerHTML=texto;
ifila++;
if ( ifila < fila.length )
setTimeout("ajaxRun()",250);
}
}
xmlhttp.send(url);
}
function carrega(url, destino){
document.getElementById(destino).innerHTML="Carregando...";
fila[fila.length] = [url,destino];
if ( (ifila+1) == fila.length ) ajaxRun();
}mostre onde você cria o objeto: xmlhttp
try{
xmlhttp = new XMLHttpRequest();
} xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E){
xmlhttp = false;
}
}
}
fila=[];
ifila=0;
Fala Bruno, tudo bem?
Desculpa o Double Post, mas será que você conseguiu alguma solução pra mim?
Bom, não ah a necessidade de um código similar ao meu, se você souber algum exemplo na net, eu posso utilizá-lo.
Obrigado.
window.open serve ?
assim amigo: