Отправить одну и ту же форму дважды с разными входами - PullRequest
0 голосов
/ 18 марта 2020

Извините за «повторный» вопрос. Я проверил другие вопросы по этой теме c, но не могу решить мою проблему. Надеюсь, вы можете мне помочь.

Видите ли, мне нужно отправить форму с определенным вводом (не все), я делаю это, используя AJAX и Jquery, как это

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

  var action = $(this).attr('action');
  $.ajax({
    url  : action,
    type : 'POST',
    data : $('#form1, #msform :input:not(.exclude)').serialize(),
    success : function() {

    }
  });
  return false;
});

Работает нормально. Он отправляет только сериализованные входы, я хочу, чтобы он отправил ( $('#form1, #msform :input:not(.exclude)').serialize() ) и все. Но, ПОСЛЕ ТОГО, мне нужно, чтобы он снова отправлялся с другим вводом, когда пользователь нажимает кнопку. Вот мой код для этого:

$('#acepto').click(function(event){
  event.preventDefault();

  var action2 = $('#msform').attr('action');


    $.ajax({
        url  : action2,
        type : 'POST',
        data : $('#msform :input.formu2').serialize(),
        success : function() {
            var data = $('#msform :input.formu2').serialize();
            console.log(data);
        }
    });

    return false;

});

Теперь этот код ничего не делает, он не отправляет мою форму снова, как я хочу, и я не смог найти свою ошибку. Есть идеи, почему?

1 Ответ

1 голос
/ 20 марта 2020

Если вы намерены сделать так, чтобы нажав кнопку #acepto, вы отправили форму, то у вас возникнет путаница в том, что вы назначаете обработчик отправки для формы вместо того, чтобы фактически выполнять ее. Первоначально назначенный обработчик отправки приведет к отправке формы при нажатии кнопки отправки. Кнопка принятия не должна изменять обработчик отправки; он может просто сделать отправку напрямую:

$('#acepto').click(function(event) {
  event.preventDefault();

  var action2 = $('#msform').attr('action');
  $.ajax({
    url: action2,
    type: 'POST',
    data: $('#msform :input.formu2').serialize(),
    success: function() {
      var data = $('#msform :input.formu2').serialize();
      console.log(data);
    }
  });

  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...