Ir para conteúdo

POWERED BY:

Arquivado

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

Ramon Pereira

Formulário sem recarregar a pagina

Recommended Posts

Pessoal, eu vou explicar todo o contexto. Estou fazendo um site que só tem uma pagina. O conteudo do site é recarregado assincronamente com ajax. Quando você clica em um link ele chama uma função que recarrega somente uma div do site que é onde fica o conteudo.

Foi aí que apareceu o problema, em uma dessas paginas que são incluidas no site tem um formulário. Os campos desse formulário são necessários para a proxima pagina. A pergunta é a seguinte, tem como eu conseguir os dados desse formulário sem ter que recarregar a pagina toda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho certeza absoluta se as informações de formulário interpretação pelo navegador e enviadas ao PHP via HTTP POST diferem quando enviadas via AJAX.

 

Você pode tentar. Na página alvo do forumlário, receba com $_POST as informações do mesmo e veja se "estão chegando". depois verifique com uma rotina AJAX POST a mesma coisa.

 

Se ambos os testes derem positivo, você pode usar AJAX POST tranquilamente para enviar ao PHP as informações para que o mesmo retorne um XML (ou outra coisa) analisável pelo JavaScript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da mesma forma com que você carrega as páginas... assincronamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no evento onsubmit do form, assim..

 

<form action="form.php" onsubmit="return callajax(this);">


</form>

<script type="text/javascript">
function callajax(form)
{
var url = form.action; // pega a url do action pra chamar ajax
// chama ajax, enviando parametros post
return false; // impede o redirecionamento da página, mesmo com o action
}

</script>

 

esqueci do return

Compartilhar este post


Link para o post
Compartilhar em outros sites

No action vai a URL do PHP que receberá as infromações via POST, seja AJAX ou não.

 

Sem o AJAX será carregada essa URL. Via AJAX você copia o valor action do formulário para uma variável JavaScript, inicia requisição para essa URL e trata o retorno.

 

No final do evento click do botão, você dá um return false para que o ato de o formulário ser submetido seja cancelado.

 

Essas rotinas você coloca em qualquer lugar que seja acessível pelo seu script. Se necessário modifique paths de inclusão para que tudo seja encontrado. E, claro, lembre-se da unicidade dos nomes pois, se você tiver duas páginas subsequentes, cada uma com um botão e ambos tiverem o mesmo nome, você terá duas rotinas click() sobre dois botões diferentes que serão tratados como sendo o mesmo por causa do nome.

 

Daí terá mais problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso não é PHP mas vamos lá.

 

você usa JQuery?

Se não, use pois vai facilitar MUITO suas requisições ajax.

 

Nele existe a comando $.post que faz a requisição enviando os parâmetros que quiser pelo método POST (tem o $.get tb, se quiser) e retorna os resultados também como você quiser (html, xml, json, etc). Não é necessário nem mesmo criar um formulário.

 

http://jquery.com

Dá uma procurada e se tiver duvidas poste aqui.

Boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua dúvida está mais para Ajax mesmo. Vou mover seu tópico.

 

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Ajax

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.