Ir para conteúdo

Arquivado

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

xiro

Return false não funciona

Recommended Posts

Bom dia.

estou desenvolvendo um sistema para verificar um email cadastrado mas o return false não funciona.

 

$(function(){
            $("#form").submit(function() {

        var email = $('#email').val();
        $.post("buscar.php", {email: ""+email+""}, function(data) {
 
          if(data == 1){
            
return false;
$("#error").html(" este email já esta cadastrado");
               
               }

            });
            
        });
            });
<form action="enviar.php" method="post" id="form">

<input type="text" name="email"  id="email" />
<p id="error"></p>

<input type="submit"  value="cadastrar" id="botao" name="verificar">
    
</form> 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa decidir se utiliza ajax ou o fluxo normal do formulário.

 

Eu montei algo aqui, com jquery ajax, veja se saca a idéia.

 

Eu utilizei essa api só pra simular uma requisição.

 

Obviamente como você vai enviar um POST os dados do seu ajax serão diferentes - http://devdocs.io/jquery/jquery.ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo.

 

Quando você faz o "$.post()" o javascript inicia uma requisição assíncrona e continua a executar o comando "$("#form").submit()", com isso ele realiza o submit e depois disso volta o resultado do post que retorna false.

 

O que você poderia fazer é deixar o botão desabilitado e no evento onblur do text, fazer a validação do email com o $.post(), se o resultado for de que o email não existe aí você habilita o botão de submit

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos assim como os amigos acima citou:

 

O FORMULÁRIO:

<form id="meu-form" action="sua_pagina.php" method="post">
  <label>E-mail
    <input type="email" name="email" id="email" onblur="verificaUserCad()" placeholder="Digite o e-mail">
  </label>
  <span id="respUser"></span>
  <button type="submit" disabled>Cadastrar</button>
</form>

JAVASCRIPT:

function verificaUserCad(){
    var user = $("#email").val();
    if(user == ''){
        $("#respUser").html('<p>Campo em branco!</p>');
    }else{
        $("#respUser").html('<small>Estamos verificando disponibilidade...</small>');
        $.ajax({
            url: 'sua_pagina.php',
            type: 'post',
            data: {email: email}, // como sua página PHP vai receber o POST
            success: function (result){
                if(result == 1){
                    $("#respUser").html('<small>Já existe um usuário com <b>'+ user +'</b></small>');
                    $("#buttonCadastrar").attr('disabled' , 'disabled');
                }else{
                    $("#buttonCadastrar").removeAttr('disabled');
                    $("#respUser").html('<small>Nome de usuário disponível</small>');
                }
            }
        })
       
    }
}

 

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.