Ir para conteúdo

POWERED BY:

Arquivado

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

girotto000

[AJAX] Resultado do formulário abaixo sem atualizar

Recommended Posts

Boa noite, estou tendo alguns problemas ao usar algumas funções do ajax.

Meu objetivo, é que quando a pessoa enviar o formulário no meu site, a mensagem que irá aparecer abaixo do formulário apareça sem que a página atualize por inteiro. Só que eu não estou conseguindo isso!

Detalhe que uso php nessa parte não sei se isso pode interferir...

Código:

 

 

<html>
<body>
<head>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		$("#form a").click(function( e ){
			e.preventDefault();
			var href = $( this ).attr('href');
			$("#conteudo").load( href +" #conteudo");
		});
	});
</script>
</head>
<body>
<form method="POST" action="" enctype="multipart/form-date">
<label>Media do ano em período normal (impressa no boletim)<input type="text" name="pgr"/>
<button type="submit" name="envia" id="form" value="Enviar" class="btn"/>Calcular!</button>
</label>
<input type="hidden" name="acao" value="send" />
<br/>
</form>
<div id="conteudo">
<?php
$pgr=$_POST["pgr"];
$resultado=10-$pgr;
if(!empty($_POST["pgr"]) && $_POST["acao"] == "send"){
if(($pgr>=6) && ($pgr<=10)){
print"<b>Parabéns! Você não pegou PGR!</b>";
}
elseif($pgr>10){
print"<b>As notas não podem ser maiores que 10.</b>" ;
}
else{
print"Você precisa tirar <b>$resultado</b> na prova da PGR para passar de ano!";
} }
?>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai vc não pode usar nem .click, e nem .load()

 

veja como fazer:

http://wbruno.com.br/ajax/enviar-formulario-para-php-sem-refresh-jquery-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só vc ler e copiar o código do post cara.

 

tenta ai, não dá pra te ajudar muito sem antes vc ler o post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só vc ler e copiar o código do post cara.

 

tenta ai, não dá pra te ajudar muito sem antes vc ler o post.

 

Muito obrigado William, dei uma estudada no código e consegui fazer funcionar!

Porém, eu gostaria que ao invés de aparecer uma janela de alerta em javascript, eu gostaria que aparecesse uma frase abaixo do formulário como eu estava fazendo antes, usando o print do php! Tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

você pode trocar a função alert, por:

 

document.getElementById('meuId').innerHTML = 'Minha mensagem';

 

Mas é que a mensagem que vai aparecer depende do resultado que vai ser calculado no php como vc pode ver no 1 post.

Compartilhar este post


Link para o post
Compartilhar em outros sites
então você pode fazer assim:
document.getElementById('meuId').innerHTML = data;

 

lá no PHP, você só precisa dar o echo (ou print), essa variável data contém toda a resposta/saída do PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

então você pode fazer assim:
document.getElementById('meuId').innerHTML = data;

 

lá no PHP, você só precisa dar o echo (ou print), essa variável data contém toda a resposta/saída do PHP

 

A entendi!

Só não entendi o que eu coloco ali em ('meuId')

De resto é só substituir no código assim:

 

 

 


			jQuery.ajax({
				type: "POST",
				url: "processa.php",
				data: dados,
				success: function( data )
				{
					document.getElementById('meuId').innerHTML = data;

				}
			});

 

correto?

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.