Ir para conteúdo
Fórum Script Brasil
  • 0

Quando a página é carregada via Ajax, função javascript não é chamada


robot7p

Pergunta

Ao incluir um arquivo em php via ajax, com um refresh de x em x segundos usando setInterval, onde neste arquivo se encontra um ou mais chamadas à funções em javascript, simplesmente ele executa o php e os comandos SQL, mas não chama a função em javascript que está dentro do php, ou seja, ele faz direitinho os refresh de x em x segundos mas a página que está sendo atualiza só atualiza a parte do php, o javascript não.

Veja o exemplo abaixo:

index.php

<html>
<head>
// Aqui vai o sistema em Ajax para fazer o refresh de x em x segundos

function ajax(url,id_conteudo)
{
  // aqui vai a função ajax...
}

function alerta_teste()
{
  alert('teste');
}

function exemplo()
{
  ajax('index.php','atualizar');   // Parâmetros -> url da página atual e id da DIV que está lá em baixo
  setInterval('exemplo',3000);
}

</head>
<body>
  <div id="atualizar">
  <?PHP
  // Comando SQL ou PHP que certamente estará sempre sendo executado de x em x segundos

  // Aqui fazemos uma chamada à função javascript alerta_teste(), que só será chamada uma única vez,
  // quando a página for carregada... o que é estranho visto que ela está dentro de uma div que está sendo atualizada de x em x segundos...
  echo '&lt;script>alerta_teste();</script>';
  ?>
  </div>
</body>
</html>

Primeiramente... o código acima é só para exemplificar a situação. Por favor não me venham publicar um sistema que faça aparecer na tela vários alertas repetidamente...

A questão é a seguinte... porque a função em javascript alerta_teste(), que está dentro do php, não é executada repetidamente como os comandos em php? :ermm:

Editado por robot7p
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você não postou o código completo, mas provavelmente é algo assim:

document.getElementById("atualizar").innerHTML=retorno_requisicao //esse retorno contém o código HTML com a tag script

O que ocorre é que ao mudar o código de um elemento, as tag's script ou style não são interpretadas devidamente, isto é, não funcionam códigos CSS ou Javascript. Se não me engano há uma solução para isso no Repositório de Scripts.

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, obrigado pela informação Jonathan. Vou pesquisar no fórum para ver se encontro qualquer coisa. Tenho sistemas que ficariam bem mais simples se eu encontrasse uma solução para este problema. Vlw! :rolleyes:

Editado por robot7p
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...