Jump to content
Fórum Script Brasil
  • 0

Atualizar conteúdo numa DIV


Ninja2112

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...