Удаление класса .was-validated после успешной отправки формы

Здравствуйте.
Помогите пожалуйста решить задачу:
Есть форма на сайте status777.ru
Сделана с помощью Bootstrap
Так вот, после успешной отправки, у самой формы появляется класс was-validated, его нужно удалить, чтобы сообщения об ошибках исчезали после успешной отправки.
Прошу помощи. я с яваскриптом особо не дружу, умею только встраивать.
Заранее благодарю.
Алексей Носкович
11 декабря 2021, 17:25
modx.pro
216
0

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

Артур
11 декабря 2021, 21:03
0
Если форма сделана с помощью AjaxForm+FormIt, то можно так
$(document).on('af_complete', function(e,response){
if(response.success){
$(response.form).find('.was-validated').removeClass('was-validated');
}
});
    Алексей Носкович
    12 декабря 2021, 12:40
    0
    Пробывал. К сожалению не срабатывает.
      Алексей Носкович
      12 декабря 2021, 12:47
      0
      Вообще код, который добавляет этот класс, выглядет так:
      (function () {
        'use strict'
      
        // Получите все формы, к которым мы хотим применить пользовательские стили проверки Bootstrap
        var forms = document.querySelectorAll('.needs-validation')
      
        // Зацикливайтесь на них и предотвращайте отправку
        Array.prototype.slice.call(forms)
          .forEach(function (form) {
            form.addEventListener('submit', function (event) {
              if (!form.checkValidity()) {
                event.preventDefault()
                event.stopPropagation()
              }
      
              form.classList.add('was-validated')
            }, false)
          })
      })()
      Может на его основе как то изменить функцию?
        Артур
        12 декабря 2021, 13:58
        0
        Пробуйте так
        (function () {
          'use strict'
        
          // Получите все формы, к которым мы хотим применить пользовательские стили проверки Bootstrap
          var forms = document.querySelectorAll('.needs-validation')
        
          // Зацикливайтесь на них и предотвращайте отправку
          Array.prototype.slice.call(forms)
            .forEach(function (form) {
              form.addEventListener('submit', function (event) {
                if (!form.checkValidity()) {
                  event.preventDefault()
                  event.stopPropagation()
                 form.classList.add('was-validated')
                }
                else{
                 form.classList.remove('was-validated')
                }
        
               
              }, false)
            })
        })()
        Но логичнее убирать класс после успешной отправки, наверное, а присланный код форму не отправляет.
    Александр Мельник
    12 декабря 2021, 18:14
    0
    Если форма сделана с помощью AjaxForm+FormIt, то можно так
    
    $(document).on('af_complete', function(e,response){
    if(response.success){
    $(response.form).find('.was-validated').removeClass('was-validated');
    }
    });
    Должно работать. Единственное что стоит проверить, а метод find у jquery не по детям ищет? Если по детям, то он не может найти класс was-validated, потому что он у формы.
      Артур
      12 декабря 2021, 21:23
      0
      По детям))) А класс у формы, тогда так можно попробовать
      $(document).on('af_complete', function(e,response){
      if(response.success){
      $(response.form).removeClass('was-validated');
      }
      });
        Алексей Носкович
        12 декабря 2021, 21:32
        0
        Артур спасибо большое! Работает. И вообще, всем спасибо! Народ, вы меня простите, зануду, я бы хотел еще спросить: не могли бы вы подсказать какой-нибудь курс или книгу по Javascript, ну так чтобы реально «вставило»?!
          Артур
          12 декабря 2021, 21:52
          0
          Я не посоветую, не помню чтобы я что-то системно читал или смотрел по JS. Я гуглил решение конкретных задач и постепенно освоился, хотя конечно мне есть куда расти.
            Алексей Носкович
            12 декабря 2021, 21:54
            0
            Понял. Хорошо. Ну тогда, удачи! Расти. Еще раз спасибо
        ewal
        13 декабря 2021, 11:21
        0
        Спасибо вам
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          11