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

Atualizar conteúdo numa DIV


Ninja2112

Pergunta

Galera...preciso de uma dica sobre como atualizar conteúdo na minha div central.

Na minha função javascrip utilizo a linha de comando :

document.getElementById("conteudoLinks").innerHTML = ajax.responseText;

Ele apresenta por alguns segundos o conteúdo que desejo na div "conteudoLinks"(retorno de uma consulta ao BD), mas logo em seguida retorna o conteúdo anterior.

O que está faltando fazer ?

Valeu

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Usa o jQuey.

Dá o include da biblioteca.

$('#idDaDiv').val(resposta do ajax);
Se preferir o jQuery tem um tanto de função para ajax. aqui segue uma das que eu uso.
$.post( './control/requisicaoAjax.php', {caso: 'carregarAbasProjeto'
            },
          function( data ) {
            $("#tabs-2").html(data);
          }
        , "html");
outro exemplo usando json na resposta
$.post( './control/requisicaoAjax.php',   $("#cadParceiro :input")
            ,
          function( data ) {
            
            if(data.erro != ""){
                alert(data.erro);
                $.fancybox.close();
            }
            if(data.sucesso != ""){
                alert("Parceiro cadastrado com sucesso!");
                $.fancybox.close();
                carregarAbaPessoas();
            }
          }
        , "json");

mais em jQuery API referencia para Ajax

Espero veementemente ter ajudado.

Boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui está o código da função carregada no <head> do meu index:

&lt;script type="text/javascript">
function abrirPag1() {
//var url = valor;
if (window.XMLHttpRequest){
    ajax = new XMLHttpRequest();}
    else if (window.ActiveXObject){
        ajax = new ActiveXObject('Microsoft.XMLHTTP');}
        else {
        ajax = new ActiveXObject('Microsoft.XMLHTTP2');}
var conv = document.getElementById("slcConv").value;
var financ = document.getElementById("slcFinanc").value;
var frmContr = document.getElementById("slcFrmContr").value;
var prazo = document.getElementById("slcPrazo").value;

ajax.open("GET","TESTE1.php?slcConv="+conv+"&slcFinanc="+financ+
"&slcFrmContr="+frmContr+"&slcPrazo="+prazo,true);

ajax.onreadystatechange = function() {

if(ajax.readyState == 4){
    alert (ajax.status);
    if (ajax.status == 200) {
                //window.alert (ajax.responseText);
                
        document.getElementById("conteudoLinks").innerHTML = ajax.responseText;
                 
                } else {
                    throw new Error("Problem retrieving data.ajax.status = " + ajax.status + "ajax.responseText=" + ajax.responseText);
                    alert ("ERRO");
                }
   }
}

ajax.send(null);
}

</script>
E o arquivo de teste que é passado à requisição ajax :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
.alter {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;    
}
</style>
</head>

<body>
    <center><h3>Teste de Apresentação</h3></center>
    <center>************</center>
     <?php
    $conv = $_GET["slcConv"];
    $financ = $_GET["slcFinanc"];
    $frmContr = $_GET["slcFrmContr"];
    $prazo = $_GET["slcPrazo"];
       echo $conv;
       echo $financ;
       echo $frmContr;
       echo $prazo;
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

A chamada da função é no form em meu artigo:

<input onclick="abrirPag1();" type="submit" value="CONSULTAR" />

E a div "conteudoLinks" está definida no template.css em http://localhost/Meusite/templates/themza_j15_72/css

É obrigatório definir a div no próprio index, onde a função é chamada ? Já fiz testes com outras divs neste mesmo arquivo e tb não funfou.

Link para o comentário
Compartilhar em outros sites

  • 0
mas tu em alguma div com esse id/ nome no teu body?

Obs.: tem que ter senão ele não vai conseguir add nada a um elemento que não existe.

Seria interessante ter o condigo da pagina onde tem esse botão com essa função.

[]'s e boa sorte

Sim...e o body do meu artigo está desse jeito:

<div id="conteudoLinks"><form id="frmConsultComis" enctype="application/x-www-form-urlencoded" method="get"><br /><br /><br /><br /><br /><br />
<table id="todoform" border="0">
<tbody>
<tr>
<th colspan="7">CONSULTA DA TABELA DE COMISSIONAMENTO</th>
</tr>
<tr>
<td><label>Convênio:</label></td>
<td><select id="slcConv" name="slcConv"><option selected="selected" value="optAeron">AERONÁUTICA</option><option value="optBbConsig">BB CONSIG</option><option value="optBbConsigNC">BB CONSIG não CORRENTISTA</option><option value="optBbCreditSal">BB CREDIT SAL</option><option value="optCorreios">CORREIOS</option></select></td>
</tr>
<tr>
<td><label>Financeira:</label></td>
<td><select id="slcFinanc" name="slcFinanc"> <option selected="selected" value="optBmg">BMG</option><option value="optCruzSul">Cruzeiro do Sul</option><option value="optBcoRural">Banco Rural</option><option value="optBvFinanc">BV Financeira</option></select></td>
</tr>
<tr>
<td><label>Forma de Contrato:</label></td>
<td><select id="slcFrmContr" name="slcFrmContr"> <option selected="selected" value="optNovo">Novo</option><option value="optRefin">Refin</option></select></td>
</tr>
<tr>
<td><label>Prazo:</label></td>
<td><select id="slcPrazo" name="slcPrazo"><option selected="selected" value="optFaixa1">1 a 6 meses</option><option value="optFaixa2">6 a 12 meses</option><option value="optFaixa3">12 a 24 meses</option><option value="optFaixa4">24 a 48 meses</option><option value="optFaixa5">48 a 60 meses</option></select></td>
</tr>
<tr>
<td colspan="2"><input onclick="abrirPag1();" type="submit" value="CONSULTAR" /></td>
</tr>
</tbody>
</table>
</form></div>

Ele parece dar um refresh no conteúdo central, retornando o da home...

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...