Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Katibian

Evento onChange em Select

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim amigo:

 

<select name="consulta" onchange="carrega(this.value, 'consulta');">
           <option value="pagina1.html">Pagina 1</option>
           <option value="pagina2.html">Pagina 2</option>
           <option value="pagina3.html">Pagina 3</option>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre onde você cria o objeto: xmlhttp

Compartilhar este post


Link para o post
Compartilhar em outros sites

try{
xmlhttp = new XMLHttpRequest();
}
catch(ee){
try{
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
	try{
		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.

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.