Confirm jQuery running 2 times

1

Hello, I have a code that "enables and disables" users. This:

HTML

 <button type='button' class='btn btn-success btn-circle ativar-gestor'>
    <i class='fa fa-check'></i>
    <input type='hidden' value='{$dados['Id']}' name='id'>
 </button>

 <button type='button' class='btn btn-danger btn-circle desativar-gestor'>
    <i class='fa fa-ban'></i>
    <input type='hidden' value='{$dados['Id']}' name='id'>
 </button>

jQuery and Ajax (confirmActivate executes 2 times, shows window confirm 2 times)

//Ativar
$( ".ativar-gestor" ).click(function() {
    var icone        = $(this);
    var id           = $('input', icone).val();
    var confirmaAtiv = confirm('Deseja realmente ativar este gestor?');
    if(confirmaAtiv){
        $.ajax({
            type    : 'POST',
            url     : 'dados/ativar-gestor.php',
            data    : {id : id},
            dataType : 'json',
            success : function(data){
                if(data.status == 1 || data.status == 2){
                    alert(data.msg);
                    window.location.href="index.php?pg=gestores";
                }else{
                    form.get(0).reset();
                    alert(data.msg);
                }
            }
        });
    }
});

//Desativar
$( ".desativar-gestor" ).click(function() {
    var icone    = $(this);
    var id       = $('input', icone).val();
    var confirmaDesat = confirm('Deseja realmente desativar este gestor?');
    if(confirmaDesat){
        $.ajax({
            type    : 'POST',
            url     : 'dados/desativar-gestor.php',
            data    : {id : id},
            dataType : 'json',
            success : function(data){
                if(data.status == 1 || data.status == 2){
                    alert(data.msg);
                    window.location.href="index.php?pg=gestores";
                }else{
                    form.get(0).reset();
                    alert(data.msg);
                }
            }
        });
    }
});

PHP Active Manager (works correctly)

    $id = mysqli_real_escape_string($conn, $_POST['id']);

    //Checa existencia do ID
    $sqlCheck = mysqli_query($conn, "SELECT Id FROM Gestores WHERE Id = {$id}");


    //Ativa
    if(mysqli_num_rows($sqlCheck) == 1){
        if(mysqli_query($conn, "UPDATE Gestores SET Ativo = 1 WHERE Id = {$id}")){
            $retorno = array("status" => 1, "msg" => "Cadastro ativado com sucesso!");
            echo json_encode($retorno);
            exit;
        }else{
            $retorno = array("status" => 0, "msg" => "Ocorreu um erro ao ativar o cadastro. Tente novamente.");
            echo json_encode($retorno);
            exit;
        }
    }else{
        $retorno = array("status" => 2, "msg" => "Cadastro inexistente. O que está tentando fazer?");
        echo json_encode($retorno);
        exit;
    }

Disabling works fine. The activate performs correct but displays twice the dialog to confirm. What would be wrong with the code?

    
asked by anonymous 15.05.2018 / 16:52

0 answers