Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eu_Nana

[Resolvido] Carregando Página Dentro De Div Usando Ajax

Recommended Posts

Olá pessoal,

 

Tenho uma página que carrego todos os conteudos dentro de uma div "conteudo". Porém qnd carrego uma página que possui form de consulta ao BD....ele esta fazendo o seguinte....qnd clico em "ok" para realizar consulta dá uma refresh na página e não realiza a consulta.......agora se carrego essa página fora da div ela realiza a consulta de maneira correta.....oq pode ser?

 

me ajudem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele carrega a página de "fora" e nao a que ta na DIV. Se fosse frame ia numa boa.

Eu tive esse problema.

Eu resolvi de um jeito, mas acho que tem outro.

 

No action do seu form coloca assim:


<form name='form' action="abrirPag('nome_da_pagina.php')" method='post'>

Viu no action,você chama a função que a abre a página na div. Dae você coloca a página que vai receber as informações.

Se não der me fala, que daí eu passo o outro jeito.

 

=D

Compartilhar este post


Link para o post
Compartilhar em outros sites

A solução do Dee funciona perfeitamente. Acredito que nem tenha problemas quanto à semântica. Você pode tentar outro modo (mas faça a dele primeiro)

<form action="" method="get" onsubmit="return(false);">
...
<button type="button" onclick="enviaDados(this.form)">Enviar!</button>

 

 

acredito que sabe o que colocar dentro de EnviaDados, né? Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

A solução do Dee funciona perfeitamente. Acredito que nem tenha problemas quanto à semântica. Você pode tentar outro modo (mas faça a dele primeiro)

<form action="" method="get" onsubmit="return(false);">
...
<button type="button" onclick="enviaDados(this.form)">Enviar!</button>

 

 

acredito que sabe o que colocar dentro de EnviaDados, né? Imagem Postada

 

utilizei as duas opções que me passaram a 1ª diz q: Not Found....a página não esta sendo encontrada.....a 2ª exibe uma página em branco.....OBS: em ambos coloquei o mesmo caminho....esta igual qnd carrego a página fora da div....

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form name='form' action="abrirPag('nome_da_pagina.php')" method='post'>

Mas você colocou o endereço certo ? Se nao encontrou porque você colocou o endereço errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moça...Posta o codigo...^^

 

 

<?
header("Content-Type: text/html; charset=ISO-8859-1",true);
?>


<link href="css/pagina.css" rel="stylesheet" type="text/css" />
<link href="css/estilos.css" rel="stylesheet" type="text/css" />
<link href="css/menu_lat.css" rel="stylesheet" type="text/css" />


<div id="geral">
		         
		<div id="conteudo">
        	

            <div style="width:590px; height:auto;">
              <div class="subdiv"> 
              	<div class="titulo">ATA</div>                            
                 	
              <div class="txt_desc">
            	Entre com o ano anterior desejado para realizar a consulta.
              </div>
              	                                                
              	<div>
              	<form action="" method="post">
                
                <table width="100%" border="0">
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                  <tr>
    <td colspan="13" align="right" class="txt_dest">
    <div align="center"><b>Ano:</b>
    	  <input name="ano" type="text" id="ano" size="10" />
    	  Ex: (1999)	  
    </div></td>
    </tr>
                  <tr>
                    <td width="44%"> </td>
                    <td width="12%">
                    	<span style="padding-left:5px;">
    	  					<input type="submit" name="enviar" value="Enviar" class="button" />
    	  				</span>
                    </td>
                    <td width="44%"> </td>
                  </tr>
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                  <tr>
                    <td colspan="3">
                    			<?php

    include "include/conexao.php";
    
    $ano = $_POST['ano'];
	
	
	if(!empty($ano)){
    
		$sql = "SELECT idata, arquivo, ano, ano_completo FROM ata where ano= " . "\"" . $ano.  "\"";
		$rs = mysql_query($sql,$con) or die (mysql_error());
		
		$count= mysql_query("SELECT COUNT(ano) as 'Total', idata, arquivo, ano, ano_completo FROM ata where ano= " . "\"" . $ano.  "\" GROUP BY ano");
		$tupla = mysql_fetch_array($count);
		$soma = $tupla["Total"];
		
                $count = 0;
        ?>
        
    	<div class="azul_ano">
        	Resultados da Pesquisa<br /><br />
			Documentos encontrados: <? echo "$soma"; ?>
       </div>        
<?php
		while($linha = mysql_fetch_array($rs))
		{
			$id_bd   = $linha['idata'];
			$arquivo_bd = $linha['arquivo'];
			$ano_bd  = $linha['ano'];
			$anocompleto_bd  = $linha['ano_completo'];
        
                    $count +=1;
                    if ($count%2==0){
                            $cor ="#ffffff";
                    }else{
                            $cor ="#FFFFCC";
                    }
?>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="3">
                    	<div class="relatorio_azul">
                   
                   <div class="azul_ano"><?=$anocompleto_bd?></div>
                      <img src="../imagens/file_pdf.gif" class="imfoto" align="left"> 
                      <br /><br /><br />
                      <a href="<?=$arquivo_bd?>" class="link_relatorio" target="_blank">
                      <div class="relatorio_anual">reunião.</div> 
                      </a>

				</div>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="3"><?php
                }//fim do while
        }//fim do if
    mysql_close($con);
?></td>
                  </tr>
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                  <tr>
                    <td colspan="3"> </td>
                  </tr>
                </table>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já mexeu com AJAX alguma vez? é a primeira?

 

ajax = asyncronous JAVASCRIPT and XML. Posteriormente foi adaptado para trabalhar com outras linguagens, então substitua XML por TDL (traversing data language)

 

 

então... você não tem NEM o javascript NEM a TDL!!!!

 

acesse a sessão de ajax do fórum e dê uma estudada, pesquisada, quebre a cabeça. Quando pelo menos fizer noção do que está/precisa fazer, abra um tópico NO FÓRUM de ajax, e poste a dúvida Imagem Postada

 

boa sorte com o aprendizado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nana

você verificou o caminho da pasta ?

 

Se deu que a página nao foi encontrada é porquê está errado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nana

você verificou o caminho da pasta ?

 

Se deu que a página nao foi encontrada é porquê está errado mesmo.

 

Já fiz algumas coisinhas c ajax....

 

e Dee eu verifiquei sim.....o arquivo esta no msm diretório.....de todas as outras páginas.....o caminho esta igual....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá então.

Outra solução:

 

enviaForm.js

// JavaScript Document
// cria a fila
fila=[];
ifila=0;

// funcao que carrega uma pagina dentro de um objeto qualquer
function carrega(url, destino){
        // coloca o texto "carregando" no objeto de carregamento
        document.getElementById(destino).innerHTML="<table border='0' width='85%' align='center'><tr><td align='center' height='200' width='85%' valign='middle'><img src='imagens/loader2.gif' border='0'></td></tr></table>";

        // adiciona o item na fila
        fila[fila.length]=[url,destino];
        
        // se a fila estiver vazia, inicia a execução
        if((ifila+1)==fila.length)ajaxRun();
}

//Executa a próxima conexão da fila
function ajaxRun(){
        // carrega os dados da pagina da fila
        url             = fila[ifila][0];
        destino = fila[ifila][1];
                
        // carrega a pagina
        xmlRequest.open("GET", url, true);
        
        // headers
        xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        xmlRequest.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
        xmlRequest.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
        xmlRequest.setRequestHeader("Pragma", "no-cache");

        // ao completar o carregamento
        xmlRequest.onreadystatechange=function() {
                if (xmlRequest.readyState==4){
                        // coloca o valor no objeto requisitado
                        texto=unescape(xmlRequest.responseText.replace(/\+/g," "));
                        document.getElementById(destino).innerHTML=texto;

                        // executa a proxima requisição da lista (se existir)
                        ifila++;
                        if(ifila<fila.length)setTimeout("ajaxRun()",20);
                }
        }
        
        // executa
        xmlRequest.send(url);
}

// função que le todos os campos de um form e envia!
function enviaForm(frmNome, url, destino){
	// Captura o form
	f = document.getElementById(frmNome);
	// inicializa nova URL
	var query=url;
	//Percorre elementos do formulario
	for (i=0;i<f.elements.length;i++){
			// se for a primeira variavel adiciona o "?" senao adiciona "&"
			query += i==0 ? '?' : '&';
			// concatena a variavel na query
			query += f.elements[i].name + '=' + f.elements[i].value;
	}
	// envia o formulario
	carrega(query, destino);
}

no tag form

action="javascript: enviaForm('nome_form', 'arquivo.php', 'conteudo');"

Compartilhar este post


Link para o post
Compartilhar em outros sites

percebi q oq esta dando problema é o "abrirPag" ...pq qnd tiro ele.....e deixo apenas : <form name='form' action=atas.php method='post'>

 

ele vai para a página só q abre fora da div.....e uma outra coisa....minha consulta esta na msm página....tem algum problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Haa entendi...

Nao eh pra tirar, você tem que por ele pra ele chamar a função...

 

Eitah

 

Problema nao tem de ser na mesma página, mas você vai ter que tratar uma coisa senão vai dar erro.

Tipo, você tem que tratar se ta vindo informação do formulário ou nao, pq senao ele vai executar toda hora e vai dar erro.

 

Do primeiro jeito que eu falei, você tem que verificar tipo assim:

if(isset($_POST['name_do_botao']))
{
   // faz os códigos
}

Se for do outro jeito, vai ser por GET


if($_GET['algum_campo_do_form'] != "")
{
   // faz os códigos
}

Eh chatinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nana

Posta a última coisa que você fez.

Com aquela função que eu passei (enviaForm)

Posta tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.