Loading...
JavaScript | Ошибка NaN на выходе JavaScript
Всем салам 👋 Делема следующего типа: Есть поля ввода дат и поле количества, если поле количества отрабатывает как нужно, то дата на выходе бьет как NaN Что нужно сделать: Берем дату заезда допустим 10.10.2010 из формы Берем дату выезда допустим 12.10.2010 из формы На выходе должны получить ответ переменной day 3 , но он выбивает NaN При добавление в константу значений поля с value, выбивает вообще пустой [Object][Object], что типа он вообще не в состоянии и не видит объекты типа value Ответ input полей мы первоначально получаем такой: 2010-10-10 и 2010-10-12, в перевернутом формате Поля ввода:
html
   <form class="hero__form">     <label for="" class="label">       Дата заезда       <input name="arrive" type="date" class="input" id="arrive" required />     </label>     <label for="" class="label">       Дата выезда       <input name="departure" id="departure" type="date" class="input" required />     </label>     <label for="" class="label">       Количество гостей       <div class="guestInput__wrapper">         <input           name="guests"           type="number"           step="1"           min="1"           class="input"           required           id="guestsInput"         />       </div>     </label>     <button class="button hero__form-button">Подобрать номер</button>    </form>   
Js code:
javascript
   if (roomFiltersForm) { guestsInput.addEventListener('input', (event) => {     const guests = event.target.value;  const departure = document.getElementById('departure'); const arrival = document.getElementById('arrival'); const bookingButton = document.querySelector('.hero__form-button');  const firstDate = new Date(arrival); const secondDate = new Date(departure);  // Вычисляем разницу между датами в миллисекундах const timeDifference = firstDate.getTime() - secondDate.getTime() + (1000 * 3600 * 24);  // Преобразуем разницу в дни const day = timeDifference / (1000 * 3600 * 24);     window.open("booking.php?gosti=" + guests + "&day=" + day, '_blank'); // Открываем новое окно при вводе значения   }); }   
getElementById("departure").value
getElementById("arrival").value

Значение не забывай получать

Увидел, что у тебя с этим вариантом какие-то проблемы, так что можешь попробовать так:
var date1 = new Date($('#departure').val());
var date2 = new Date($('#arrival').val());
________
посл. ред. 08.12.2023 в 14:11; всего 1 раз(а); by TheAlex
Онлайн: 5
Время:
Gen. 0.0756
(c) Bym.Guru 2010-2026