Ir para conteúdo

Arquivado

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

gugu3699

Refresh formulário php

Recommended Posts


Pessoal, preciso atualizar o formulário depois de enviar para o php e estou usando um "location.reload();" ja tentei com "window.location.reload();" para atualizar depois de clicar em ok no alert javascript que aparece no callback, o problema é que no IE não funciona só no chrome, alguém tem alguma sugestão?

Já ví alguns sistemas que so atualizam certas divs ou seja do menu pra baixo, consigo fazer dentro deste código também?





<html>
<head>

<link href="../../../css/menu.css" rel="stylesheet" type="text/css" />
<link href="../../../css/index.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#ajax_form').submit(function(){
var dados = jQuery( this ).serialize();

jQuery.ajax({
type: "POST",
url: "processa.php",
data: dados,
success: function( data )
{
location.reload();
alert( data );
}
});

return false;
});
});
</script>
</head>
<body>
<div id="div_geral">
<div class="div_topo">
<a href="index.php"><img src="../../../imagens/banner.jpg" border="0" /></a>
<div class="div_menu">
<ul id="menu"><li><a href="../index.php">VOLTAR</a></li></ul> </div>
</div>
<div class="div_meio">


<form method="post" action="" id="ajax_form">
<label><input type="hidden" name="id" value="" /></label>
<label>Nome: <input type="text" name="nome" value="" /></label>
<label>Email: <input type="text" name="email" value="" /></label>
<label>Telefone: <input type="text" name="telefone" value="" /></label>

<label><input type="submit" name="enviar" value="Enviar" /></label>
</form>

</div>
</div

</body>
</html>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a necessidade para recarregar a pagina? pois quando é utilizado jQuery.ajax({}); a idéia é de não carregar a página, apenas mostrar uma mensagem com sucesso ou erro, por um determinado tempo e apos ocultar. caso seje isto comunique que te ajudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer assim:

 

setInterval("document.getElementById('id_div').style.display='none'", 30000);

 

so que o problema é que se a pagina nao recarregar o formulario nao envia novos dados de cadastro novamente parece que a funçao so funciona uma vez. O que será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua intenção é recarregar a página novamente? Acredito que o reload vai carregar os dados do formulário novamente, assim, teria duas opções:

 

1ª - location.href para recarregar a página;

2ª - Limpar os dados do input.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua intenção é recarregar a página novamente? Acredito que o reload vai carregar os dados do formulário novamente, assim, teria duas opções:

 

1ª - location.href para recarregar a página;

2ª - Limpar os dados do input.

 

Minha intençao nao é recarregar a pagina novamente, e se eu limpar so os inputs o formulario nao envia os dados por ajax novamente, parece que a fençao so funciona uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para limpar os campos basta fazer:

 

$(form).reset();
quanto a só funcionar uma vez, aparece algum erro no console ? Ctrl + Shift +J no Chrome ou Firefox. O IE tb possui um console, mas vc precisa abrir pelo inspecionar elemento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não aparece nenhum errro, não sei se esta relacionado a como eu preencho estes campos pois é uma pagina de atualização de dados, e os dados me veem por ajax.

 

Ou seja procuro o que quero, atualizo os dados, depois (envio formulario com ajax), reseto o formulario como voçe sitou sem refreh na pagina, quando procuro novos dados e tento envi-alos novamente é como se ficasse enviando sem parar ai carrega e para carrega e para ai tenho que dar refresh

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		$("input[name='nome']").blur(function(){
			var endereco = $("input[name='endereco']");
			var telefone = $("input[name='telefone']");
 
			$( endereco ).val('Carregando...');
			$( telefone ).val('Carregando...');
 
				$.getJSON(
					'function.php',
					{ nome: $( this ).val() },
					function( json )
					{
						$( endereco ).val( json.endereco );
						$( telefone ).val( json.telefone );
					}
				);
		});
	});
	</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para limpar os campos basta fazer:

$(form).reset();

quanto a só funcionar uma vez, aparece algum erro no console ? Ctrl + Shift +J no Chrome ou Firefox. O IE tb possui um console, mas você precisa abrir pelo inspecionar elemento.

Não apagou os dados do form assim.

 

 

Será que tem outra forma?

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.