Erro : Só ativa ajax(); dois do segundo clique

231 views
Skip to first unread message

Egipicio

unread,
Dec 2, 2010, 12:08:08 PM12/2/10
to jQuery (Brasil)
Boa tarde pessoal ,

Tenho um form que pessoa coloca o dados depois enviar estou usando
jquery .

Mais só funciona se pessoa clicar duas vez no botão no primeiro clique
não funciona , Alguem sabe porque esse erro ?? o código funciona
certo , só esse detalhe que só funciona se pessoa clicar 2 vez no
botão ...

Eu fiz um teste para ver se erra erro do .click mais não e , coloquei
o alert dentro quando do primeiro clique ele ativa o alerta, mais não
o sistema ajax(); para verificação ...

Então acho que erro esta depois do $
("#codigo_enviado").change(function() { ,

Caso aguem souber o erro ou melhorar o código ficarei muito grato :D

Abraços ....

Código :

$(document).ready(function() {

$('#ok').click(function() {

$("#codigo_enviado").change(function() {

var cdg = $("#codigo_enviado").val();

$("#top_texto4").html('<img src="../loader.gif"
align="absmiddle">&nbsp;Verificando...');


$.ajax({
type: "POST",
url: "ativar.php",
data: "codigo="+ cdg ,

success: function(msg){

$("#texto4").ajaxComplete(function(event, request, settings)
{


if(msg == 'FALSE'){
$("#texto4").html('&nbsp;<font color="Red">Código errado</
font>');
}else if(msg == 'OK'){
$("#texto4").html('&nbsp;<font color="Green"> Ativada,
Obrigado. </font> ');
}


Código div para ativar .

<a href="#" id="ok" name="ok" >
<div id="b1"> Ativar </div>
</a>

Washington Botelho

unread,
Dec 2, 2010, 12:14:35 PM12/2/10
to jque...@googlegroups.com
Acho que seu problema é que dentro do click você só esta aplicando a ação change, mas não esta ativando-a.
No segundo click o change aplicado na primeira vez já é executado, por isso os dois cliques.

Coloca a função direto dentro do click e não um bind (change) dentro de outro (click).

* Coloca o código indentado no http://jsbin.com para melhorar a leitura e ajuda.

Washington Botelho
http://wbotelhos.com.br
http://twitter.com/wbotelhos


2010/12/2 Egipicio <dark...@gmail.com>

Gileno Alves

unread,
Dec 2, 2010, 3:46:00 PM12/2/10
to jque...@googlegroups.com
Porque dentro do callback do ajax (POST) você colocar ajaxComplete?
Acredito que assim no primeiro click a resposta vem mas você não executa nada pois so manda registrar o ajaxComplete.
No segundo click o ajaxComplete já está registrado então ele executa.

2010/12/2 Egipicio <dark...@gmail.com>



--
Abraços,
Gileno Filho

Reply all
Reply to author
Forward
0 new messages