Dois envios de formulário AJAX em um único arquivo JS, apenas um está funcionando

Andrei Răileanu

No HTML, os formulários parecem idênticos, apenas o ID do formulário é alterado. Eu uso este arquivo JS para enviar os formulários usando AJAX:

$("#change-password").submit(function(e) {
    var url = "http://domain/actions"; 
    $.ajax({
        type: "POST",
        url: url,
        data: $("#change-password").serialize(), 
        success: function(data) {
            $("div.change-password-response").html(data);
        }
    });
    e.preventDefault(); 
});

$("#change-email").submit(function(e) {
    var url = "http://domain/actions"; 
    $.ajax({
        type: "POST",
        url: url,
        data: $("#change-email").serialize(), 
        success: function(data) {
            $("div.change-email-response").html(data);
        }
    });
    e.preventDefault(); 
});

Parte HTML

                <div class="col-md-6 col-sm-6 add_bottom_30">
                    <h4>Schimbare parola</h4>
                    <form id="change-password" method="post">
                    <div class="form-group">
                        <label>Parola veche</label>
                        <input class="form-control" name="old_password" id="old_password" type="password" autocomplete="off">
                    </div>
                    <div class="form-group">
                        <label>Parola noua</label>
                        <input class="form-control" name="new_password" id="new_password" type="password" autocomplete="off">
                    </div>
                    <div class="form-group">
                        <label>Confirma parola noua</label>
                        <input class="form-control" name="confirm_new_password" id="confirm_new_password" type="password" autocomplete="off">
                    </div>
                    <input type="hidden" name="action" value="change-password">
                    <button type="submit" class="btn_1 green">Actualizeaza parola</button>
                    <div class="change-password-response form-response"></div>
                    </form>
                </div>

                <div class="col-md-6 col-sm-6 add_bottom_30">
                    <h4>Schimbare adresa email</h4>
                    <form id="change-email" method="post">
                    <div class="form-group">
                        <label>Email vechi</label>
                        <input class="form-control" name="old_email" id="old_email" type="text" autocomplete="off">
                    </div>
                    <div class="form-group">
                        <label>Email nou</label>
                        <input class="form-control" name="new_email" id="new_email" type="text" autocomplete="off">
                    </div>
                    <div class="form-group">
                        <label>Confirma email nou</label>
                        <input class="form-control" name="confirm_new_email" id="confirm_new_email" type="password" autocomplete="off">
                    </div>
                    <input type="hidden" name="action" value="change-email">
                    <button type="submit" class="btn_1 green">Actualizeaza Email</button>
                    <div class="change-email-response form-response"></div>
                    </form>
                </div>

Agora, meu problema é que o Form 1 está funcionando, o Form 2 não está acionando o AJAX e funciona normalmente. O que estou fazendo de errado?

Alex Ivasyuv

Verifique se #change-emailpossui outros eventos vinculados.

No Firebug , inspecione o #change-emailelemento e vá para a Eventguia.
No Chrome , inspecione esse elemento e vá para a Event Listenersguia.

Você verá todos os eventos vinculados e funções de retorno de chamada correspondentes.

Se não ajudar, tente enviar um formulário manualmente a partir de Console

  1. Inspecione um formulário e execute
  2. $($0).submit();

Se funcionar, parece que você tem alguns eventos no botão.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como obter apenas um único campo de formulário de um HttpResponse em Java e gravá-lo em um arquivo?

Como fazer checkout esparsamente em apenas um único arquivo de um repositório git?

Como posso salvar meus dados de envios de formulários do wordpress em um arquivo json

jQuery Ajax formulário dois botão de envio em um formulário

Como processar um envio de formulário AJAX com envios múltiplos e roteamento do Laravel

Como posso usar uma entrada de arquivo e entrada de texto em um único formulário

Solicitação AJAX para preencher um popover funcionando apenas uma vez em um arquivo php

O Reconhecimento de Formulário do Azure analisa apenas o primeiro arquivo em um fluxo

O Reconhecimento de Formulário do Azure analisa apenas o primeiro arquivo em um fluxo

Refazer mesclagem de apenas um único arquivo

Formulário HTML - funciona apenas em um único botão em um loop

Executando dois scripts python simultaneamente a partir de um arquivo em lote, usando anaconda, não está funcionando

Como mostrar dois campos em uma única linha com um único rótulo em uma exibição de formulário?

Como mostrar dois campos em uma única linha com um único rótulo em uma exibição de formulário?

Como mesclar dois arquivos em um único arquivo com base em 2 colunas de cada arquivo

Java: expor apenas um único pacote em um arquivo jar

Especificando apenas um único índice de uma matriz 1D em um arquivo de dados

Como obter os valores de um formulário de guia em ajax para outro arquivo php?

Parsley.js incapaz de validar quando dois bootstrap-select em um formulário

postar por arquivo de entrada e texto em um formulário usando ajax

Dois botões de envio em um formulário

Armazene apenas um único arquivo

Rotas expressas em um único arquivo .js

Copie apenas parte de um arquivo binário em C ++

Como excluir um único campo de disparar o evento onchange registrado em um formulário inteiro (vanilla JS)?

ASP.NET Core usando dois modelos em um único formulário

Como agrupar dois aplicativos iOS em um único arquivo ipa

Combine dois arrays JSON em um único arquivo usando jq

Acessando funções de um arquivo js que está em um diretório público

TOP lista

quentelabel

Arquivo