Ir para conteúdo

Arquivado

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

ppaulo.777

Divs repetindo devido ao .load() jquery

Recommended Posts

opa pessoal, tudo bem?

Tenho um código em php que pucha registros do banco de dados e este código está em uma div que precisa ser atualizada á cada 01 segundo, então estou usando a função .load do jquery

  $(document).ready(function(){  		  
									  
		var atualizar = setInterval(function(){
								 
				$("#conteudo").load("index.php #conteudo");		
		}, 1000);

	return false;
  });	

Até aí tudo bem, mas após passar de 01 registro do banco de dados, o jquery retorna dois registros repetidos, onde sendo um registro ele retorna 02 registros, sendo 01 repetido !

 

Poderiam me ajudar ? Urgente ! Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa atualizar o site todo ou so uma parte do conteudo?

 

 

se for so uma parte

function atualizar() {
if (window.XMLHttpRequest) {
x = new XMLHttpRequest();
} else if (window.ActiveXObject) {
x = new ActiveXObject("Microsoft.XMLHTTP");
}
if (x != undefined) {
x.onreadystatechange = function() {
if (x.readyState == 4) {
if (x.status == 200) {
document.getElementById("#conteudo").innerHTML = x.responseText;
}
}
};
x.open("GET", "pagina.php", true);
x.send("");
}
}
var checar = setInterval(function() {
atualizar();
}, 1200);
HTML:
<div id="conteudo"></div>
agora se for o site todo
setTimeout("index.php'",2000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero atualizar apenas um parte do conteúdo, que está dentro da div conteúdo! O código em js que enviou não funcionou... ele não atualiza a div conteúdo !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou assim

function atualizar() {
if (window.XMLHttpRequest) {
x = new XMLHttpRequest();
} else if (window.ActiveXObject) {
x = new ActiveXObject("Microsoft.XMLHTTP");
}
if (x != undefined) {
x.onreadystatechange = function() {
if (x.readyState == 4) {
if (x.status == 200) {
document.getElementById("#conteudo").innerHTML = x.responseText;
}
}
};
x.open("GET", "index.php", true);
x.send("");
}
}
  
var checar = setInterval(function() {
  atualizar();
}, 1000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

da forma que está...

$("#conteudo").load("index.php #conteudo");

ele ta pegando a div#conteudo da página index.php e add nessa página onde o JS ta rodando ficando assim 2 ID iguais na mesma página.

<div id="conteudo">
      <div id="conteudo">[...]</div>
</div>

Já tentou renomear um dos #conteudo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tentei ainda... Então qual é a solução ?

 

Tente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz isto, mas não funcionou... Não atualizou a div... no meu 1* script atualiza mas repete a div como disse acima

  $(document).ready(function(){  		  
									  
		var atualizar = setInterval(function(){
								 
				$("#conteudo").load("index.php #fgfgfg");		
		}, 1000);

	return false;
  });	

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não apareceu nada na div #conteudo?

 

Você renomeou também o elemento do id #fgfgfg na página index.php?

 

aparece algo no console? (Ctrl + Shift + J)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte... tenho uma div que dentro dela há um mysqli_fetch_assoc, onde pucha alguns dados do banco de dados phpmyadmin

<?php while($registro=mysqli_fetch_assoc($sql)){ ?><div id="conteudo"><div id="nome"><?=$registro['nome']?></div></div><?php } ?>

similar ao que digitei acima... Com o script js a div atualiza á cada 1 segundo, até aí está tudo bem! Mas após passar o 1* um segundo, ao atualizar a div que está dentro da #conteudo se multiplica, tornando duas divs iguais na tela...

 

Como resolvo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora ja entedir o problema a div não esta no elemento a div é gerada!

 

 

tente troca aqui .

 

$(document).ready(function(){

 

por $(document).load(function(){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou !

$(document).load(function(){									  
		var atualizar = setInterval(function(){
								 
				$("#conteudo").load("index.php #conteudo");		
		}, 1000);

	return false;
  });	

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria uma div com o ID #container ou outra nome que não seja #conteudo e tente o código abaixo:

$(document).load(function(){									  
		var atualizar = setInterval(function(){
				var content = $("#container");
                                content.load("index.php #conteudo");
                                $("#container").html(content);	
		}, 1000);
	return false;
  });	

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.