#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('Сформировать программу'); } }); Оставшийся код остался без изменений. Таким образом валидация обязательного поля работает:
Комментариев нет:
Отправить комментарий