Ir para conteúdo

POWERED BY:

Arquivado

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

entchucs

Ajax com innerHTML

Recommended Posts

Opa,

Tenho uma lista com vários links que ao ser clicado ele chama uma função js que busca dados no banco de dados e altera o conteudo do link. Na verdade ele "transforma" a div onde está o link em uma listagem de nome e endereço do nome clicado.

Até ai tudo bem, sem stress. O problema é que eu preciso que quando o usuário clique em outro link da listagem aquele que foi selecionado anteriormente volte ao estado inicial, ou seja, link.

Alguma solução? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

what = id da div onde deve mudar

nid = o ID do registro que deve ser apresentado

 

var http_request = false;function makeRequest(what,nid) {	http_request = false;	if (window.XMLHttpRequest) { // Mozilla, Safari,...		http_request = new XMLHttpRequest();		if (http_request.overrideMimeType) {			http_request.overrideMimeType('text/xml');		}	} else if (window.ActiveXObject) { // IE		try {			http_request = new ActiveXObject("Msxml2.XMLHTTP");		} catch (e) {			try {				http_request = new ActiveXObject("Microsoft.XMLHTTP");			} catch (e) {}		}	}	if (!http_request) {		alert('Giving up :( Cannot create an XMLHTTP instance');		return false;	}	http_request.onreadystatechange = function alertContents() {		if (http_request.readyState == 4) {			if (http_request.status == 200) {				var obj = document.getElementById(what);				obj.innerHTML = http_request.responseText;			} else {				alert('There was a problem with the request.');			}		}	}	http_request.open('GET', 'ajx_promotores.php?act=list&num='+nid, true);	http_request.send(null);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que ninguém soube me ajudar a adequar o que eu estava fazendo a minha necesisdade alguem pelo menos sabe outra forma de fazer o que eu preciso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você elimina o link? Senão faz o seguinte:

 

link = function(){	var objAnterior = null;	var linkAnterior = null;		this.salvar = function(obj)	{		if(objAnterior == null)		{			objAnterior = obj;			linkAnterior = objAnteior.getAttribute("href");		}		else		{			objAnterior.setAttribute("href",linkAnterior);			objAnteiror = obj;			linkAnterior = objAnteior.getAttribute("href");		}	}}

No corpo da pagina crie um novo objeto "link()":

 

<script type="text/javascript">var objLink = new link();</script><a href="endereco" onclick="objLink.salvar(this)">Link</a>

Não testei, mas o caminho é por ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hunternh,

Só agora tive tempo de voltar arrumar isso ai. A lógica tá OK. Posto abaixo o código pra quem tiver a mesma dúvida.

TY

 

var objAnterior;var linkAnterior;var what_anterior;function salvar(what) {		objNovo = document.getElementById(what);	if(linkAnterior == null) {			what_anterior = what;		linkAnterior = objNovo.innerHTML;	} else {		objVelho = document.getElementById(what_anterior);		objVelho.innerHTML = linkAnterior;		what_anterior = what;		linkAnterior = objNovo.innerHTML;	}}

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.