Ir para conteúdo

POWERED BY:

Arquivado

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

felipeduardo

[Resolvido] Problema com submit do form após validação por ajax

Recommended Posts

Olá,

 

fiz uma validação com o zend framework onde eu posso usar a mesma validação nos dois lados (cliente, servidor),

méritos de diego oliveira...

 

funciona mais ou menos assim tem um metodo de validação la no zend e tals... e com a jquery.ajax eu consigo acessar

essa mesma validação. Legal!! o problema é que minha validação com a jquery caso de tudo certo deve ao inves de breakar o submit do form

enviar ele... ai esta o problema..

 

      $(document).ready(function() {
 $('#cadastra_produto').submit(function(){
           var nome = $('#nome').val();
           var email = $('#email').val();
           var verifica = 0;
           $.ajax({
           	url: '/dumacaco/dumacaco/loja/validar',
               type: 'post',
               dataType: 'json',
               data: {
                       nome: nome,
                       email: email
               },
               success: function (data) {
                   $('.errors').remove();
                   if (data == true) {
                   	verifica = 1;
                   } else {
                    	for (campo in data) {
                    	    $('#'+campo).after('<ul id="'+campo+'_errors" class="errors"></ul>');
                           for (mensagem in data[campo]) {
			$('#'+campo+'_errors').append('<li>'+data[campo][mensagem]+'</li>');
                           }
                    	}
                   }
            	}
           });
           if(verifica == 0) return false;
});
     });

 

usando o firebug eu percebi que o problema é no tempo de resposta da função ajax...

pois se eu uso ums breakpoints a funciona como esperado mas deixar rodar normalmente

o script faz a condição if(verifica == 0) return false;

antes do

 

if (data == true) {

verifica = 1;

 

então mesmo que o form esteja validado ele sempre retorna false...

deu pra entender?!?!

 

agradeço ateção

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvido o problema...

 

$(document).ready(function() {
	var verifica = 0;
	$('#submit').bind('click', function(e){
		if(verifica==0) { 
			e.preventDefault();
		}
           var nome = $('#nome').val();
           var email = $('#email').val();
           $.ajax({
           	url: '/dumacaco/dumacaco/loja/validar',
               type: 'post',
               dataType: 'json',
               data: {
                       nome: nome,
                       email: email
               },
               success: function (data) {
                   $('.errors').remove();
                   if (data == true) {
                   	verifica = 1;
                   	$('#submit').trigger('click');
                   } else {
                       $('#mensagem').text = "";
                    	for (campo in data) {
                    		$('#'+campo).after('<ul id="'+campo+'_errors" class="errors"></ul>');
                           for (mensagem in data[campo]) {
							$('#'+campo+'_errors').append('<li>'+data[campo][mensagem]+'</li>');
                           }
                    	}
                   }
            	}
           });
	});
});

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.