Ninja2112 Posted December 27, 2011 Report Share Posted December 27, 2011 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 Quote Link to comment Share on other sites More sharing options...
0 Germano Assis Posted December 27, 2011 Report Share Posted December 27, 2011 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 AjaxEspero veementemente ter ajudado.Boa sorte! Quote Link to comment Share on other sites More sharing options...
0 lucas.js Posted December 27, 2011 Report Share Posted December 27, 2011 se não quiser usar jquery posta o codigo todo...pois com uma linha é impossivel saber o erro. Quote Link to comment Share on other sites More sharing options...
0 Ninja2112 Posted December 28, 2011 Author Report Share Posted December 28, 2011 Aqui está o código da função carregada no <head> do meu index:<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> Quote Link to comment Share on other sites More sharing options...
0 lucas.js Posted December 28, 2011 Report Share Posted December 28, 2011 não estou vendo nada de errado neste codigo.Coloque a parte que chama essa função:com o div ConteudoLinks e tudo mais. Quote Link to comment Share on other sites More sharing options...
0 Ninja2112 Posted December 28, 2011 Author Report Share Posted December 28, 2011 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. Quote Link to comment Share on other sites More sharing options...
0 lucas.js Posted December 28, 2011 Report Share Posted December 28, 2011 tenta colocar:onclick="abrirPag1();return false" Quote Link to comment Share on other sites More sharing options...
0 Germano Assis Posted December 28, 2011 Report Share Posted December 28, 2011 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 Quote Link to comment Share on other sites More sharing options...
0 Ninja2112 Posted January 2, 2012 Author Report Share Posted January 2, 2012 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 sorteSim...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... Quote Link to comment Share on other sites More sharing options...
Question
Ninja2112
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.