Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Не срабатывает required у select в модальном окне

#javascript #html #jquery #bootstrap #валидация


Имеется следующая ситуация, есть на странице две кнопки, которые лежат рядом друг
с другом Сформировать программу из краткосрочно плана и Сформировать отчет сравнение
с краткосрочным планом по нажатию на которые открывается модальное окно:

HTML-код модального окна и кнопок открытия модального окна:







Если нажать на одну из кнопок, то модальное окно выглядит примерно так:



JavaScript код, который обрабатывает нажатия на кнопки на странице, в том числе и
в модальном окне:

function fillChoisePlanSelector() {
  console.log('fillChoisePlanSelector');

  $.get('@Url.Action("GetShortTermPlanList", "Programs")', {
      year: 2016 })
    .done(function(result) {
      var parsedResult = JSON.parse(result);
      $.each(parsedResult, function(index, elem) {
        $('#choise-plan')
          .append($('


Ответы

Ответ 1



Методом проб и ошибок выяснил, что если у кнопки убрать data-dismiss="modal" и в JavaScript убрать обработку нажатия на кнопку $('#btn-choise-plan-ok').click то валидация начинает работать. При любой попытке навесить обработку нажатия на кнопку - валидация перестает работать. Поэтому было решено перенести форму внутрь модального окна (она была вокруг модалки): И навесить обработку отправки данных с формы: $('#form-choise-plan').submit(function(e) { e.preventDefault(); $('#modal-choise-plan').modal('hide'); if ($('#btn-click-type').val() === 'report-compare-with-plan') { //TODO: Сформировать отчет console.log('Сформировать отчет'); } else { //TODO: Сформировать программу console.log('Сформировать программу'); } }); Оставшийся код остался без изменений. Таким образом валидация обязательного поля работает:

Комментариев нет:

Отправить комментарий