Spyder.RV Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 (editado) estou com um problema mais ou menos assim:objeto.GetElementByID('divTeste').innerHTML = '...blá...blá...blá';Quero redefinir o innerHTML carregando um arquivo em php que tá no mesmo diretório da página que contém esse objeto, tem como??? Editado Julho 4, 2007 por Spyder.RV Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 flavio Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 não dá pra usar o include do php? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 Impressão minha, ou isso é Ajax?Dá para usar sim o include no php, mas isso aí é JavaScript!A função include seria:include("arquivo.php"); Agora, para modificar o innerHTML, jogando o conteúdo de um arquivo PHP, você precisará utilizar o Ajax mesmo, tem uma forma fácil de fazer isso: ajax.js: function ajaxInit() { var req; try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(ex) { try { req = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); req = null; } } } return req; } function Carrega(PAGINA){ pagina = PAGINA; ajax = ajaxInit(); if(ajax){ ajax.open("GET", PAGINA + ".php", true); ajax.onreadystatechange = function(){ var Lugar = document.getElementById('divTeste'); if(ajax.readyState == 4){ if(ajax.status == 200){ var ConteudoPagina=ajax.responseText; Lugar.innerHTML=ConteudoPagina; } else { alert(ajax.statusText); } } } ajax.send(null); } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 4, 2007 Autor Denunciar Share Postado Julho 4, 2007 (editado) Agora, para modificar o innerHTML, jogando o conteúdo de um arquivo PHP, você precisará utilizar o Ajax mesmo, tem uma forma fácil de fazer isso...Maravilhoso, funcionou às míl maravilhas... O único problema foi o charset...estou usando utf-8 e no Firefox saiu certinho... mas no IE não deu certo...Segue o cabeçalho da minha página mãe:<!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" lang="pt-br" xml:lang="pt-br"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link rel="stylesheet" href="layout.css" type="text/css" media="screen" title="no title" charset="utf-8" /> </head>Tem como definir o charset do conteúdo que vai ser carregado?? Editado Julho 4, 2007 por Spyder.RV Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 (editado) Tem, e me desculpe não haver postado.Esse é um "problema" já conhecido para quem chama arquivos PHP com Ajax, é que eu esqueci que isso ocorreria. =/Joga esse header no topo da página que será carregada pelo Ajax, que esta funcionará sem problema algum!<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?> Editado Julho 4, 2007 por Lvcifer! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 4, 2007 Autor Denunciar Share Postado Julho 4, 2007 (editado) Tem, e me desculpe não haver postado.Esse é um "problema" já conhecido para quem chama arquivos PHP com Ajax, é que eu esqueci que isso ocorreria. =/Joga esse header no topo da página que será carregada pelo Ajax, que esta funcionará sem problema algum!<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?>Beleza... no caso, troquei o iso-8859-1 pelo utf-8 e deu certim certim...Ajax é uma coisa de louco...Ficou show de bola...estou enfrentando problemas de cache no IE 6: Carreguei uma página usando a função que você me passou, daí alterei ela e atualizei no servidor, se clicar no link dela novamente, não carrega as atualizações, preciso limpar todo o cache do IE pra resolver...Tem alguma forma de contornar isso? No FF até que tá normal... Editado Julho 4, 2007 por Spyder.RV Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 Eu costumo resolver isso impedindo que a página entre em cache, com o seguinte código:<?php header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 4, 2007 Autor Denunciar Share Postado Julho 4, 2007 Eu costumo resolver isso impedindo que a página entre em cache, com o seguinte código:<?php header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); ?>Show de bola... agora tá 100% Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 10, 2007 Autor Denunciar Share Postado Julho 10, 2007 Deixa eu abusar um pouquinho, :)Tem como carregar uma página enviando parâmetros via POST??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 heltonritter Postado Julho 10, 2007 Denunciar Share Postado Julho 10, 2007 sim:ajax.open("POST", PAGINA + ".php", true); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Julho 10, 2007 Denunciar Share Postado Julho 10, 2007 (editado) E no JS, coloca uma linha para enviar então o form, por post...algo como document.formulario.submit() Editado Julho 10, 2007 por Lvcifer! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 17, 2007 Autor Denunciar Share Postado Julho 17, 2007 Isso tá muito loko... Valeu gente!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Spyder.RV Postado Julho 18, 2007 Autor Denunciar Share Postado Julho 18, 2007 (editado) Pessoal, tá ficando até razoável pro meu primeiro site...Dêem uma olhada, ainda faltam alguns detalhes:http://www.asogo.com.br/novoAgora, estou com um probleminha: No ítem Clientes, quero fazer uma animação que a cada 5 segundos, as informações do cliente mudam para um novo cliente. Pensei em fazer da seguinte forma:Quando clico em Clientes, abre a página de clientes. Dentro da página de clientes, montei um javascript para que a cada 5 segundos executa a função que me foi passada acima para carregar uma segunda página em php contendo as informações do cliente.O Erro que tá ocorrendo é o seguinte:Se carregar a página clientes.php direto pela barra de endereços, a animação roda, mas se carregar pelo AJAX, ela carrega, mas não executa nenhuma animação (carga no INDEX através da função AJAX que me foi passada acima). Na verdade o que eu estou fazendo é carregando uma página via AJAX e colocando ela numa DIV e depois carregar uma segunda página também AJAX para alterar parte do conteúdo da primeira página que foi carregada. E é isso que não tá dando certo... a parte de rolar pelo setInterval tá funcionando bem, apenas a segunda carga da função em AJAX que não tá dando certo...Tá meio confuso mas espero que vocês entendam... Até eu me confundi quando fui escrever hehehe...função em javascript para rodar a animação:var iROLLOVER = 5; // Tempo em Segundos setInterval("rollOverCliente()", iROLLOVER * 1000); function rollOverCliente() { // Rola Cliente if (iCliente >= MAXCOUNT) iCliente = 0; iCliente++; ajaxCargaDeConteudo('clientegetdatadetails', 'logoClientes', 'iCliente=' + iCliente, ''); } Página: clientegetdatadetails.php: <?php header("Content-Type: text/html; charset=utf-8",true); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); // Pega Dados do cliente $userLogin = 'XXXXX; $userPassword = 'SSSSS'; @mysql_connect('HHHHH', $userLogin, $userPassword) or die("1 - Erro na Conexão, tratar depois"); @mysql_select_db('DDDDD) or die("2 - Erro na Conexão, tratar depois"); // Pega dados do Cliente $iCliente = (!isset($_GET['iCliente']) ? 1: $_GET['iCliente']); $codigoSQL = "SELECT * FROM clientes WHERE idCliente = $iCliente;"; $consultaSQL = mysql_query($codigoSQL) or die("3 - Erro na Conexão, tratar depois"); if ($dadosSQL = mysql_fetch_array($consultaSQL)) { $razaoCliente = $dadosSQL['razaoCliente']; $linkCliente = $dadosSQL['linkCliente']; $logoCliente = $dadosSQL['logoCliente']; } else { $razaoCliente = "ASO Assessoria em Saúde Ocupacional"; $linkCliente = "http://www.asogo.com.br"; $logoCliente = "asolino-cert.gif"; } ?> <h2>Clique sobre a logomarca para acessar o site da empresa</h2> <a href="<? echo $linkCliente; ?>"> <img src="imagens/clientes/<? echo $logoCliente; ?>" id="logomarca"/> </a> <p id="destaqueLogomarca"> <a href="<? echo $linkCliente; ?>"> <? echo $razaoCliente; ?> </a> </p> Editado Julho 19, 2007 por Spyder.RV Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Spyder.RV
estou com um problema mais ou menos assim:
Quero redefinir o innerHTML carregando um arquivo em php que tá no mesmo diretório da página que contém esse objeto, tem como???
Editado por Spyder.RVLink para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
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.