Ошибка с AJAX формами - PullRequest
       4

Ошибка с AJAX формами

0 голосов
/ 07 июня 2018

У меня есть 2 формы и сценарий ajax для них.

jQuery("#mod-expert").submit(function () {
            var formNm = jQuery('#mod-expert');
            $.ajax({
                type: "POST",
                url: '/notify',
                data: formNm.serialize(),
                success: function (data) {
                    // Вывод текста результата отправки
                    jQuery(".message").removeClass("hidden");
                    jQuery(".message-text").html(data);
                    jQuery(".overlay").removeClass("hidden");
                },
                error: function (jqXHR, text, error) {
                    // Вывод текста ошибки отправки
                    jQuery(".message").removeClass("hidden");
                    jQuery(".message-text").html(error);
                    jQuery(".overlay").removeClass("hidden");
                }
            });
            return false;
            });
<div id="mod-order" class="form-modal">
      <div class="head-modal quest-head">ask question</div>
      <form id="mod-expert">
        <input type='hidden' name="header" value="quest <%= @expert.name %>">
        <div class="modal-fields">
          <div class="row">
            ....some inputs
          </div>
          <input type="hidden" name="info" id="info"/>
          <input type="hidden" name="field"/>
          <div class="modal-footer">
            <input class="btn-send" type="submit" value="Отправить">
            <button class="btn-close">Отмена</button>
          </div>
        </div>
      </form>
    </div>

    <div id="mod-expert-block" class="form-modal">
      <div class="head-modal quest-head">Стать экспертом</div>
      <form id="mod-expert">
        <input type='hidden' name="header" value="Хочу стать экспертом">
        <div class="modal-fields">
          <div class="row">
            ...some inputs
          </div>
          <input type="hidden" name="info" id="info"/>
          <div class="modal-footer">
            <input class="btn-send" type="submit" value="Отправить">
            <button class="btn-close">Отмена</button>
          </div>
        </div>
      </form>
    </div>
Но когда я нажимаю "отправить" в 1-й форме, отправляется запрос GET.Когда мы отправляем 2-ую форму, она отправляет пустые параметры независимо от наших входных данных.Хотя аналогичная форма на другой странице для правильной отправки параметров.

1 Ответ

0 голосов
/ 07 июня 2018

Обе ваши формы имеют одинаковое значение id.Вот почему вы получаете странные значения, отправляемые при отправке форм.

Как упомянул Рори в своем комментарии, убедитесь, что ваша версия jquery действительно принимает параметр type.

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