@Skilful221

Конфликт, перестала работать валидация после кода ajax почему?

конфликт валидации в модальном окне
$('body').on('click', 'button#reservation', function (event) {
    event.preventDefault();

    let data, form, checkin, checkout, adults, children, cottage, username, email, phone, comment;

    form = $(this).closest('form');
    checkin = form.find('#log_in').val();
    checkout = form.find('#come_out').val();
    adults = form.find('#field').val();
    children = form.find('#children').val();
    cottage = form.find('#my_select').val();
    username = form.find('#username').val();
    email = form.find('#email').val();
    phone = form.find('#phone').val();
    comment = form.find('#comment').val();

    data = {
        'checkin': checkin,
        'checkout': checkout,
        'adults': adults,
        'children': children,
        'cottage': cottage,
        'username': username,
        'email': email,
        'phone': phone,
        'comment': comment
    };

    $.ajax({
        type: 'POST',
        url: 'ajax/application',
        data: data,
        success: function (data) {
            if (!data) {
                alert('Произошла ошибка, попробуйте позже');
                form[0].reset();
            } else {
                alert('Данные отправлены, вам перезвонят');
                form[0].reset();
                $('#modal').removeClass('modal_active')
            }
        },
        error: function (data) {
            alert('Произошла ошибка, попробуйте позже');
            form[0].reset();
        },
    });
})

вставил вот этот код пошел конфликт, не пойму в чем дело, срабатывает через раз

код формы
<!-- Modal window -->
    <div class="modal" id="modal" >
      <div class="modal-block">
      <h1 class="modal__title">Бронирование номера</h1>
        <button class="modal-block__close" id="close">&times;</button>
        <form action="#" method="POST" id="modal-form">
          <div class="modal-block__data">
            <div class="modal-block__point">
              <label>заезд:</label>
              <input type="text" id="log_in" name="log_in" class="datepicker modal-block__point-img" placeholder="12.11.2019" required>
            </div>
            <div class="modal-block__point">
              <label>выезд:</label>
              <input type="text" id="come_out" name="come_out" class="datepicker modal-block__point-img" placeholder="13.11.2019" required>
            </div>
            <div class="modal-block__point">
              <label>Взрослые</label>
              <input type="number" id="field" name="field" class="modal__come-out come_out" placeholder="2" required min="1" max="12">
            </div>
            <div class="modal-block__point">
              <label>Дети</label>
              <input type="number" id="children" class="modal__come-out come_out" placeholder="0" min="1" required max="20">
            </div>
          </div>
          <div class="modal-block__place">

            <div class="form-group">
              <div class="form-group__house">
                <label for="my-select">Номер</label>
                <select id="my_select" name="my_select" class="custom-select" required>
                  <option class="custom-select__one" value="">-- Выберите домик --</option>
                  <option value="1">Дом «Охотника» пн-чт</option>
                  <option value="2">Дом «Охотника» пт-вс, праздничные дни</option>
                  <option value="3">Дом «Лесника с баней»</option>
                  <option value="4">Дом «Рыбака с баней»</option>
                  <option value="5">Аренда парной 3 часа</option>
                  <option value="6">Аренда парной 4 часа</option>
                  <option value="7">Аренда парной 5 часов</option>
                  <option value="8">1 этаж коттедж «Уютный»</option>
                  <option value="9">2 этаж коттедж «Уютный»</option>
                  <option value="10">1 этаж коттедж «Деревенский»</option>
                  <option value="11">2 этаж коттедж «Деревенский»</option>
                </select>
              </div>
            </div>

            <span class="modal-block__img"></span>
            
            <p class="modal-block__message">Введите ваши контактные данные. Наш менеджер свяжется с вами в ближайшее время и поможет вам выбрать или забронировать номер</p>
          
         
            </div>
            <div class="modal-block__person">
              <div class="modal-block__name">
                <label for="username">ваше имя</label>
                <input type="text" id="username" name="username" class="username modal-block__name-1" placeholder="ФИО" required minlength="2" maxlength="15">
              </div>
              <div class="modal-block__email">
                <label for="email">e-mail</label>
                <input type="email" placeholder="mail@mail.com" name="email" id="email" class="email modal-block__email-1" required >
              </div>
              <div class="modal-block__phone">
                <label for="phone">телефон</label>
                <input type="tel" id="phone" name="phone" placeholder="+7" class="modal-block__phone-1 phone" required >
              </div>
              <div class="modal-block__comment">
                <label for="comment">комментарий</label>
                <textarea name="" id="comment" cols="30" rows="1" class="modal-block__comment" placeholder="Напишите свой комментарий"></textarea>
              </div>
            </div>
            <div class="modal-block__answer">
              <h1 class="modal-block__answer-title">Коттедж "Деревенский" 2 этаж</h1>
              <div class="modal-block__answer-date">
              <span>12.11.2019 - 13.11.2019</span><span>(количество ночей: 1)</span>
              </div>
              <div class="modal-block__answer-price"><span class="modal-block__answer-price_1">2 800</span><span>руб/сутки</span></div>
              <div class="modal-block__answer-summa">
              <span class="modal-block__answer-price_1">2 800</span><span>руб/весь период</span></div>
            </div>
            <p class="modal-block__text">Нажав на кнопку, я даю  <a href="#" class="agreement-button">согласие на обработку персональных данных</a></p>
            <button type="submit" class="modal-block__button">Отправить</button>
        </form>
      </div>
    </div>  
    <!-- /end Modal window -->
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
Exploding
@Exploding
wtf?
Все там нормально работает (хоть js и ужасен). Из плейсхолдеров убрать только надо цифры. Или значения начальные указать.
Эта "2" сбивает с толку. Думаешь, что это значение по-умолчанию, а это плейсхолдер мать его! Где вас учили такие плейсхолдеры делать...
<label>Взрослые</label>
              <input type="number" id="field" name="field" class="modal__come-out come_out" placeholder="2" required min="1" max="12">

После отправки формы вы её ресетите и как бы всё сначала.
spoiler
input type=date тоже существует:)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 12:20
15000 руб./за проект
25 апр. 2024, в 12:08
300 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект