Ir para conteúdo

POWERED BY:

Arquivado

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

anchieta

Qual o erro...?

Recommended Posts

<script type="text/javascript">

$(document).ready(function(){

$('#enviar').click(enviarDados)

})

 

function enviarDados(){

$.ajax({async:true,

type:"POST",

dataType:"html",

contentType:"application/x-www-form-urlencoded",

url:"email.php",

beforeSend:carregando,

success:carregado,

timeOut:3000,

error:problema

return false;

});

}

 

function carregando(){

$('#resultado').html('<img src="../img/carregando.gif" alt="" />');

 

}

 

function carregado(){

$('#resultado').text('Dados enviados');

}

 

function problema(){

$('#resultado').text('Erro no envio de dados');

 

}

</script>

 

<div id="resultado"></div>

<form action="email.php" method="post" name="email" id="email">

Nome:<input type="text" name="nome" id="nome" />

E-mail:<input type="text" name="email" id="email" />

Mensagem:<textarea name="mensagem" id="mensagem"></textarea>

<input type="submit" value="Enviar" id="enviar" />

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É dificil te ajudar só com a pergunta 'qual é o erro' e o código fonte. Você nem fala o que aconteceu lol.

 

Porém, eu chutaria no fato de você usar beforeSend:carregando, quando ACHO que deveria usar algo como:

 

beforeSend:carregando(),

Ou, como eu prefiro fazer:

 

beforeSend: function(val) {
	 $('#resultado').html('<img src="../img/carregando.gif" alt="" />');
},

E isso vale para as 3 funções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código faz a requisição usando o servidor, não aparece a imagem carregando....

 

Vou testar do seu jeito, só não entendi essa parte...

 

beforeSend:function(val)

porque esse "val" ????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

O val é porque algumas funções de ajax retornam valores, mas pode ignorar então...

 

Vamos lá, pegue o seu:

beforeSend: function(val) {
	 $('#resultado').html('<img src="../img/carregando.gif" alt="" />');
},

E mude para para:

beforeSend: function(val) {
	alert(1);
},

Se o alert funcionar, quer dizer que o problema no comando que você está usando para incluir a imagem, e não no request em si.

 

Caso funcione, tente mudar:

$('#resultado').html('<img src="../img/carregando.gif" alt="" />');

Para:

$('#resultado').innerHTML = '<img src="../img/carregando.gif" alt="" />';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, se o alert não está funcionando, seu código inteiro está bixado =\

 

Você está usando algum framework?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"já resolvi", só restou um problema veja o novo códgido...

<script type="text/javascript">
$(document).ready(function(){
	 $('#enviar').click(enviarDados);
})

function enviarDados(){
$.ajax({async:true,
			url:"1.php",
			type:"POST",
			dataType:"html",
			data:("nome="+$('#nome').attr("value")+"email="+$('#email').attr("value")),
			contentType:"application/x-www-form-urlencoded",
			timeout:4000,
			beforeSend:carregando,
			success:carregado,
			error:problema});
			return false;
}

function carregando(){
	 $('#resultado').html('<img src="img/load.gif" alt="" />');
}

function carregado(dados){
	 $('#resultado').text(dados);
}

function problema(){
	 $('#resultado').text('Erro no envio');
}
</script>
<div id="resultado"></div>
<form action="1.php" method="post">
<input type="text" name="nome" id="nome" />
<input type="text" name="email" id="email" />
<input type="submit" value="Enviar" id="enviar" />
</form>
Qaundo eu faço a requisição apareçe assim: "nome"email=undefined

O nome apareçe o mesmo que eu digitei, mas o email, apereçe é o nome mesmo email=undefined...

 

Acho que o erro está aqui: data:("nome="+$('#nome').attr("value")+"email="+$('#email').attr("value"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está usando jQuery?

 

isso seria se você tivesse passando por GET se não me engano..

ai teria que concatenar a query string.

type:"GET",
			dataType:"html",
			data:("nome="+$('#nome').attr("value")+"&email="+$('#email').attr("value")),

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não disse para você tirar o data... oO

eu fiz a alteração de incluir o &, e mudei para GET.

 

Pega esse trecho q postei e testa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confirma ai, você tá usando jQuery ?

dá uma olhada na documentação...

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.