Ir para conteúdo

Arquivado

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

gabrielmourao

Ajax + Jquery + PHP - Envia o mesmo form varias vezes

Recommended Posts

Boa noite!

Eu tenho um formulário para atualizar os dados do usuario no mysql sem refresh e exibir a resposta no próprio form, mas o formulário está enviando duas vezes o form no primeiro envio, procurei aqui mesmo, e em diversos blogs, mas nada funciona.

 

O codigo está aqui, também tem o codigo que faz o update no mysql mas o problema está no jQuery/ajax


<script type="text/javascript">
    jQuery(document).ready(function () {
        $('.nome').focus();

        $.validator.addMethod("alfanumerico", function (value, element) {
            return this.optional(element) || /^[a-z0-9\\]+$/i.test(value);
        }, "O usuário pede conter apenas letras e numeros.");

        var erros = '';
        $(".modificaUsuario").validate({
            showErrors: function (errorMap, errorList) {
                erros = this.numberOfInvalids();
                this.defaultShowErrors();
                if (erros > 0) {
                    $(".enviaFormModificaMeusDados").prop("disabled", true);
                }
                if (erros === 0) {
                    $(".enviaFormModificaMeusDados").prop("disabled", false);
                }
            },
            rules: {
                nome: {
                    required: true
                },
                usuario: {
                    required: true,
                    remote: "admin/ajax/php/consulta-usuario.php"
                },
                email: {
                    required: true,
                    email: true,
                    remote: "admin/ajax/php/consulta-email-cliente.php"
                },
                senha: {
                    minlength: 6,
                    remote: "admin/ajax/php/consulta-senha-usuario.php"
                },
                senha2: {
                    equalTo: "#senhaID"
                }
            },
            messages: {
                nome: {
                    required: "Nome deve ser preenchido."
                },
                usuario: {
                    required: "Campo obrigatório.",
                    remote: "Este usuário ja está em uso.",
                },
                email: {
                    required: "Nós precisamos do seu e-mail.",
                    email: "Por favor insira um e-mail válido",
                    remote: "Impossívl utilizar este e-mail!"
                },
                senha: {
                    minlength: "A senha deve ter no mínimo 6 caracteres.",
                    remote: "Digite uma senha diferente da atual, ou deixe em branco para manter a sua senha."
                },
                senha2: {
                    equalTo: "As senhas não correspondem."
                }
            },
            highlight: function (element) {
                $(element).closest('.form-group').addClass('has-error');

            },
            unhighlight: function (element) {
                $(element).closest('.form-group').removeClass('has-error');
            },
            errorElement: 'span',
            errorClass: 'help-block',
            errorPlacement: function (error, element) {
                if (element.parent('.input-group').length) {
                    error.insertAfter(element.parent());
                } else {
                    error.insertAfter(element);
                }
            }
        });

        $('#modificaUsuario').submit(function (e) {
            e.preventDefault();

            if (erros > 0) {

            } else {
                $(".loader").show('200');

                var dados = $(this).serialize();
                $.ajax({
                    type: "POST",
                    url: "admin/libs/modifica/modifica-usuario-cliente.php",
                    data: dados,
                    dataType: 'json',
                    success: function (data)
                    {

                        $(".loader").hide('100');
                        $(".alerta").hide('100');
                        var erro = data['ERRO'];
                        var sucesso = data['SUCESSO'];
                        var nome = data['nome'];
                        var usuario = data['usuario'];
                        var senha = data['senha'];
                        var logradouro = data['logradouro'];
                        var numero = data['numero'];
                        var complemento = data['complemento'];
                        var bairro = data['bairro'];
                        var municipio = data['municipio'];
                        var uf = data['uf'];
                        var cep = data['cep'];
                        var telefone = data['telefone'];
                        var telefone2 = data['telefone2'];
                        var email = data['email'];
                        if (nome === '1') {
                            $(".nome-div").addClass('has-success');
                        } else {
                            $(".nome-div").removeClass('has-success');
                        }
                        if (usuario === '1') {
                            $(".usuario-div").addClass('has-success');
                        } else {
                            $(".usuario-div").removeClass('has-success');
                        }
                        if (senha === '1') {
                            $(".senha-div").addClass('has-success');
                        } else {
                            $(".senha-div").removeClass('has-success');
                        }
                        if (logradouro === '1') {
                            $(".logradouro-div").addClass('has-success');
                        } else {
                            $(".logradouro-div").removeClass('has-success');
                        }
                        if (numero === '1') {
                            $(".numero-div").addClass('has-success');
                        } else {
                            $(".numero-div").removeClass('has-success');
                        }
                        if (complemento === '1') {
                            $(".complemento-div").addClass('has-success');
                        } else {
                            $(".complemento-div").removeClass('has-success');
                        }
                        if (bairro === '1') {
                            $(".bairro-div").addClass('has-success');
                        } else {
                            $(".bairro-div").removeClass('has-success');
                        }
                        if (municipio === '1') {
                            $(".municipio-div").addClass('has-success');
                        } else {
                            $(".municipio-div").removeClass('has-success');
                        }
                        if (uf === '1') {
                            $(".uf-div").addClass('has-success');
                        } else {
                            $(".uf-div").removeClass('has-success');
                        }
                        if (cep === '1') {
                            $(".cep-div").addClass('has-success');
                        } else {
                            $(".cep-div").removeClass('has-success');
                        }
                        if (telefone === '1') {
                            $(".telefone-div").addClass('has-success');
                        } else {
                            $(".telefone-div").removeClass('has-success');
                        }
                        if (telefone2 === '1') {
                            $(".telefone2-div").addClass('has-success');
                        } else {
                            $(".telefone2-div").removeClass('has-success');
                        }
                        if (email === '1') {
                            $(".email-div").addClass('has-success');
                        } else {
                            $(".email-div").removeClass('has-success');
                        }
                    },
                    error: function (data)
                    {
                        $(".loader").hide('100');
                        $(".alerta").show('300').html("Erro ao enviar o formulário, por favor tente novamente, caso o erro persista contate o desenvolvedor!");
                    }
                });
                return false;
            }
        });

    });

</script>
<div class="container col-md-12">
    <div class="loader"></div>
    <div class="row">
        <h3><span class="glyphicon glyphicon-user"></span>Meus dados</h3>

        <?php
        $usuario = $_SESSION['UsuarioCodigo'];
        $sql = "SELECT * FROM usuarios_clientes  WHERE codigo = '$usuario'";
        $rs = mysql_query($sql);
        while ($row = mysql_fetch_object($rs)) {
            $codigo = $row->codigo;
            $nome = $row->nome;
            $usuario = $row->usuario;
            $cep = $row->cep;
            $logradouro = $row->logradouro;
            $numero = $row->numero;
            $complemento = $row->complemento;
            $bairro = $row->bairro;
            $municipioCod = $row->municipio;
            $sql1 = "SELECT nome FROM cidades WHERE id = '$municipioCod'";
            $rs1 = mysql_query($sql1);
            while ($row1 = mysql_fetch_object($rs1)) {
                $municipio = $row1->nome;
            }

            $ufCod = $row->uf;

            $sql2 = "SELECT uf FROM estados WHERE ibge = '$ufCod'";
            $rs2 = mysql_query($sql2);
            while ($row2 = mysql_fetch_object($rs2)) {
                $uf = $row2->uf;
            }

            $telefone = $row->telefone;
            $telefone2 = $row->telefone2;
            $email = $row->email;
            $situacao = 'Ativo';
            ?>
            <form name="modificaUsuario" action=''class="modificaUsuario" id="modificaUsuario" method="post">
                <!-- DADOS PESSOAIS-->
                <fieldset>
                    <legend>Dados de acesso</legend>
                    <div class="form-group col-md-12 alerta alert alert-warning" style="display:none" >

                    </div>
                    <div class="form-group col-md-12 nome-div">
                        <label for="nome" class="col-md-2 control-label">Nome: </label>
                        <div class="col-md-10">
                            <input  class="form-control nome" type="text" name="nome" id='nome' value="<?php echo $nome ?>">
                        </div>
                    </div>
                    <div class="form-group col-md-12 usuario-div">
                        <label for="usuario" class="col-md-2 control-label">Usuário: </label>
                        <div class="col-md-10">
                            <input  class="form-control usuario" type="text" name="usuario" id='usuario' value='<?php echo $usuario ?>'>
                        </div>
                    </div>
                    <div class="form-group col-md-12 senha-div">
                        <label for="senha" class="col-md-2 control-label">Senha:  <a href="#" class="text-black" data-toggle="tooltip" title="Caso deseje modificar sua senha, preencha esse campo com a nova senha."><i class="glyphicon glyphicon-question-sign"></i></a></label>
                        <div class="col-md-10">
                            <input  class="form-control senha" type="password" name="senha" id='senhaID'>
                        </div>
                    </div>
                    <div class="form-group col-md-12 senha2-div">
                        <label for="senha2" class="col-md-2 control-label">Repita a senha: </label>
                        <div class="col-md-10">
                            <input  class="form-control senha2" type="password" name="senha2" id='senha2ID'>
                        </div>
                    </div>
                </fieldset>
                <fieldset>
                    <legend>Dados de Endereço</legend>
                    <div class="form-group col-md-12 cep-div">
                        <label for="cep" class="col-md-1 control-label">CEP: </label>
                        <div class="col-md-5">
                            <input   class="form-control cepNC"  type="text" name="cep" id="cepNC" value="<?php echo $cep ?>"/>
                            <input   class="cep2"  type="hidden" name="cep2" id="cep2" value="<?php echo $cep ?>"/>
                        </div>
                        <div class="col-md-6"></div>
                    </div>
                    <div class="form-group col-md-12 logradouro-div">
                        <label for="logradouro" class="col-md-1 control-label">Logradouro:</label>
                        <div class="col-md-11">
                            <input  class="form-control logradouro"  type="text" name="logradouro" id='logradouro' value="<?php echo $logradouro ?>">
                        </div>
                    </div>
                    <div class="form-group col-md-12 numero-div">
                        <label for="numero" class="col-md-1 control-label">Numero:</label>
                        <div class="col-md-1">
                            <input  class="form-control numero"  type="text" name="numero" id='numero' value="<?php echo $numero ?>">
                        </div>    

                        <label for="complemento" class="col-md-2 control-label">Complemento: </label>
                        <div class="col-md-8">
                            <input  class="form-control complemento"  type="text" name="complemento" id='complemento' value="<?php echo $complemento ?>">
                        </div>
                    </div>
                    <div class="form-group col-md-12 bairro-div">
                        <label for="bairro" class="col-md-1 control-label">Bairro: </label>
                        <div class="col-md-3">
                            <input  class="form-control bairro"  type="text" name="bairro" id='bairro' value="<?php echo $bairro ?>">
                        </div>
                        <label for="municipio" class="col-md-1 control-label">Municipio: </label>
                        <div class="col-md-5">
                            <input  class="form-control municipio"  type="text" name="municipio" id='municipio' value="<?php echo $municipio ?>">
                        </div>
                        <label for="uf" class="col-md-1 control-label">Estado:</label>
                        <div class="col-md-1">
                            <input  class="form-control uf"  type="text" name="uf" id='uf' value="<?php echo $uf ?>">
                        </div>
                    </div>
                </fieldset>


                <!-- DADOS DE CONTATO -->
                <fieldset>
                    <legend>Dados de Contato</legend>
                    <div class="form-group col-md-12">
                        <label for="email" class="col-md-1 control-label">E-mail: </label>
                        <div class="col-md-11">
                            <input  class="form-control email" type="text" name="email" id="email" value="<?php echo $email ?>">
                        </div>
                    </div>
                    <div class="form-group col-md-12">
                        <label for="telefone" class="col-md-1 control-label">Tel. Fixo:</label>
                        <div class="col-md-5">
                            <input  class="form-control telefone" type="text" name="telefone" id="telefone" value="<?php echo $telefone ?>">
                        </div>

                        <label for="telefone2" class="col-md-1 control-label">Tel. Celular:</label>
                        <div class="col-md-5">
                            <input  class="form-control telefone2" type="text" name="telefone2" id="telefone2" value="<?php echo $telefone2 ?>">
                        </div>
                    </div>
                </fieldset>
                <div class="form-group col-md-12">
                    <div class="col-md-7"></div>
                    <div class="col-md-3">
                        <input type="submit" value='Cadastrar Meus Dados' class="btn btn-primary enviaFormModificaMeusDados">
                    </div>
                    <div class="col-md-2">
                        <input type="reset" value="Limpar" class="btn btn-danger">
                    </div>
                </div>
            </form>
            <?php
        }
        ?>

    </div>
</div>

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.