Ir para conteúdo

POWERED BY:

Arquivado

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

fael

Confundindo as layers

Recommended Posts

E dae pessoal,

 

Estou com um pequeno problema. Quando quero chamar duas vezes a mesma função, num link por exemplo. O AJAX confunde as layers, vamos a um exemplo:

 

Eu tenho essa função que chama o ajax, a função do ajax é a openPage:

 

function submitTypeProblem( url, element ) { name = document.getElementById('name').value; openPage(url+'?name='+name,element); document.getElementById('addTypeProblem').style.display='none'; document.getElementById(element).style.display=''; openPage('listTypesProblem.php', 'list');}

Ele chama as duas páginas, faz o que tem que fazer. Mas o problema é que ele exibe o retorno da segunda chamada, ou seja a página listTypesProblem.php dentro da layer da primeira chamada. Não sei se fui claro... :wacko:

 

Desde já agradeço a ajuda de vocês! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou mostrar todas as funções, porque uma chama a outra...

 

/** * Funções relacionadas ao AJAX. */var req;/** * Passa os parâmetros para a página server-side,  * que retorna o valor referente ao valor passado como parâmetro. */function loadXMLDoc( url, element ) {	req = null;	// Procura por um objeto nativo (Mozilla/Safari)	if ( window.XMLHttpRequest ) {		req = new XMLHttpRequest();		url = antiCacheRand(url)		req.onreadystatechange = function() { processReqChange(element) };		req.open("GET", url, true);		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");	req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");	req.setRequestHeader("Pragma", "no-cache");		req.send(null);	// Procura por uma versao ActiveX (IE)	} else if ( window.ActiveXObject ) {		req = new ActiveXObject("Microsoft.XMLHTTP");		if ( req ) {			url = antiCacheRand(url)			req.onreadystatechange = function() { processReqChange(element) };			req.open("GET", url, true);			req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");	  req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");	  req.setRequestHeader("Pragma", "no-cache");			req.send();		}	} else {		alert('Seu navegador não suporta AJAX.');	}}/** * Processa o retorno, se retornou e trata para não perder acentuação. * Se não retornou nada mostra mensagem de erro. */function processReqChange( element ) {	// apenas quando o estado for "completado"	if ( req.readyState == 4 ) {		// apenas se o servidor retornar "OK"		if ( req.status == 200 ) {			// Descodificando o retorno para jogar o valor na text			var retorno = unescape(req.responseText).replace(/\+/g," ");			document.getElementById(element).innerHTML = retorno;		} else {			alert("Houve um problema ao obter os dados:\n" + req.statusText);		}	}}/** * Só recebe parâmetros e passa o trabalho a função loadXMLDoc. */function openPage( url, element ) {	loadXMLDoc( url, element );}/** * Função para desabilitar o cache no carregamento do conteúdo... problema ocorre com o IE... */function antiCacheRand(aurl) {	//Adiciona um parametro randomico à querystring. By Micox (micoxjcgATyahooPONTOcomPONTObr).	var dt = new Date();	if ( aurl.indexOf("?") >= 0 ) {// já tem parametros		return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());	} else {		return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());	}}

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.