Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia Galera,
Desculpa se já existe no fórum um tópico respondendo minha dúvida, o problema é que eu não sei nem como procurar uma resposta para o meu problema.
vou tentar explicar o que acontece.
tenho um javascript que chama uma classe php de busca de registros em um banco de dados. essa classe php procura no banco de dados os registros e devolve para o javascript que por sua vez devolve para uma div html.
Na resposta da classe php são criados vários links, um link para cada registro encontrado. esse link chama outro javascript que é uma janela modal.
<a href='player.php?end_video=2009-09-28.wmv?KeepThis=true&TB_iframe=true&height=290&width=310' title='Web TV' class='thickbox'><b>Teste</b></a>
bom, o link não funciona quando é inserido na div de resposta pelo javascript responsável pela busca
quando o link é inserido fora da div como um html normal, funciona.
Se não entenderem a dúvida, me avisem.
Desde já agradeço as respostas.
É exatamente isso, porém não funcionou aqui.. a janela modal continua não abrindo se for com o link da pagina que veio por ajax...
já o link criado na pagina principal funciona.
não sei se estou fazendo algo errado mas aí meu JS
ele pega a palavra chave digitada pelo usuario na pagina principal e manda para a classe php de busca.
é um js de paginacao e junto coloquei a função newtag() que importa o <script> que vem da pagina php de busca.
porém tem algo errado pq a janela modal nao abre pq é como se não foi importado o JS da janela modal.
var xmlHttp
function FindAjax(chave,pagina){
if (pagina==""){
pagina=1;
};
var ts = Math.ceil(Math.random() * 1000);
GetXmlHttpObject("busca.php?chave="+chave+"&tempo="+ts+"&pagina="+pagina);
}
//função que mostra imagem na pagina principal
function mostrar_load(){
var foto;
foto = '<img src="images/aguarde.gif" align="absmiddle" border="0"/>';
document.getElementById("progresso").innerHTML = foto;
}
//funcao que mostra as atualizacoes
function stateChanged(){
if (xmlHttp.readyState == 4){
if (xmlHttp.status == 200){
document.getElementById("resposta").innerHTML = xmlHttp.responseText;
document.getElementById("progresso").innerHTML = '';
newTag();
}else{
document.getElementById("resposta").innerHTML = '';
document.getElementById("progresso").innerHTML = '';
alert("Houve um problema ao obter os dados:\n" + xmlHttp.statusText);
}
}
}
function newTag(){
// Pegando a div que recebrá o Javascript
var conteudo = document.getElementById("resposta");
// Declarando a criação de uma nova tag <script>
var script = document.createElement("script");
// Pegando os valores das Tags <script> que estão na página carregada pelo AJAX
var scripts = resp.getElementsByTagName("script");
// Aki, vamos inserir o conteúdo da tag <script> que pegamos na linha acima
for(i = 0; i < scripts.length; i++){
script.text = scripts[i].innerHTML;
}
// Agora, inserimos a nova tag <script> dentro da div na página inicial
conteudo.appendChild(script);
}
function GetXmlHttpObject(url){
xmlHttp=null;
mostrar_load();
if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
} else if (window.ActiveXObject) {
try{
xmlHttp=new XMLHttpRequest();
}catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if (xmlHttp){
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send();
}
}
}
Alguém sabe o que pode ser?
http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.imasters.com.br/index.php?/topic/359316-classe-ajax/
Tente usar essa classe...
Pro seu caso, faça assim:
var ajax = new myAjax({
complete: newTag,
contentLoading: '<img src="images/aguarde.gif" align="absmiddle" border="0"/>'
});
ajax.load("busca.php?chave="+chave+"&tempo="+ts+"&pagina="+pagina, "resposta");Não funcionou.. acabei adotando outra solução pq precisava terminar o projeto.
De qualquer forma agradeço muito a ajuda de vcs!!
Obrigado galera http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif .
Pelo que entendi, o teu problema é executar uma função Javascript, chamada numa página que veio por ajax.
Dá uma olhada aqui:
http://forum.imasters.com.br/index.php?/topic/264642-executar-funcoes-js-em-paginas-carregadas-com-ajax/