serialize не отправляет данные с формы

216
25 июня 2018, 17:00

Есть 2 формы, отличаются только заголовком. При отправке одной формы скрпит отрабатывал отлично, при добавлении второй формы, я создал дополнительную функцию отправки. Иными словами, каждая функция отвечает за отправку своей формы. Суть проблемы в том, что seriallize не собирает введенную информацию в форму, ни в первую ни во вторую. В итоге на сервер отправляется пустой запрос.

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; 
            }); 
        jQuery("#mod-other-expert").submit(function () { 
            var formNm = jQuery('#mod-other-expert'); 
            console.log(formNm.serialize()); 
            $.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-expert" 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"> 
          <div class="col-md-6 col-sm-6 col-xs-12"> 
            <input class="form-control" type="text" name="name" placeholder="Ваше имя"></div> 
          <div class="col-md-6 col-sm-6 col-xs-12"> 
            <input class="form-control" type="email" name="email" placeholder="Ваш e-mail" required="required"></div> 
          <div class="col-md-12 col-sm-12 col-xs-12"> 
            <input type="text" name="field" class="form-control" id="formData" placeholder="Область знаний"></div> 
          <div class="col-md-12 col-sm-12 col-xs-12"> 
            <textarea class="form-control" name="text" id="text" placeholder="В какой области вы эксперт?"></textarea> 
          </div> 
        </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> 
 
  <div id="mod-other-expert" class="form-modal"> 
    <div class="head-modal quest-head">Нужен другой эксперт</div> 
    <form id="mod-other-expert"> 
      <input type='hidden' name="header" value="Нужен другой эксперт"> 
      <div class="modal-fields"> 
        <div class="row"> 
          <div class="col-md-6 col-sm-6 col-xs-12"> 
            <input class="form-control" type="text" name="name" placeholder="Ваше имя"></div> 
          <div class="col-md-6 col-sm-6 col-xs-12"> 
            <input class="form-control" type="email" name="email" placeholder="Ваш e-mail" required="required"></div> 
          <div class="col-md-12 col-sm-12 col-xs-12"> 
            <input type="text" name="formData" class="form-control" id="formData" placeholder="Область знаний"></div> 
          <div class="col-md-12 col-sm-12 col-xs-12"> 
            <textarea class="form-control" name="text" id="text" placeholder="С каким вопросом обращаетесь?"></textarea> 
          </div> 
        </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>

Answer 1

Самое трудное в программировании - придумывать названия переменным.

Выборка jQuery("#mod-expert") находит не форму, a div с таким же id.

READ ALSO
Почему змейка не работает?

Почему змейка не работает?

Помогите найти проблему змейки

410
Почему iframe загружается 2 раза?

Почему iframe загружается 2 раза?

Нашел скрипт, который останавливает воспроизведение видео в iframe, но он при открытии openbox с самим iframe загружает его два разаБез данного скрипта,...

221
Как сделать привязку к дате? unity3d

Как сделать привязку к дате? unity3d

Кратко опишу приложение: У нас прописано 3 дня, на каждый день даётся свой текст, который нужно выводить

272