JavaScript | Ошибка NaN на выходе JavaScript
Всем салам 👋
Делема следующего типа:
Есть поля ввода дат и поле количества, если поле количества отрабатывает как нужно, то дата на выходе бьет как NaN
Что нужно сделать:
Берем дату заезда допустим 10.10.2010 из формы
Берем дату выезда допустим 12.10.2010 из формы
На выходе должны получить ответ переменной day 3, но он выбивает NaN
При добавление в константу значений поля с value, выбивает вообще пустой [Object][Object], что типа он вообще не в состоянии и не видит объекты типа value
Ответ input полей мы первоначально получаем такой: 2010-10-10 и 2010-10-12, в перевернутом формате
Поля ввода:
Js code:
Делема следующего типа:
Есть поля ввода дат и поле количества, если поле количества отрабатывает как нужно, то дата на выходе бьет как NaN
Что нужно сделать:
Берем дату заезда допустим 10.10.2010 из формы
Берем дату выезда допустим 12.10.2010 из формы
На выходе должны получить ответ переменной day 3, но он выбивает NaN
При добавление в константу значений поля с value, выбивает вообще пустой [Object][Object], что типа он вообще не в состоянии и не видит объекты типа value
Ответ input полей мы первоначально получаем такой: 2010-10-10 и 2010-10-12, в перевернутом формате
Поля ввода:
<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:
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
getElementById("arrival").value
Значение не забывай получать
Увидел, что у тебя с этим вариантом какие-то проблемы, так что можешь попробовать так:
var date1 = new Date($('#departure').val());
var date2 = new Date($('#arrival').val());
________
посл. ред. 08.12.2023 в 14:11; всего 1 раз(а); by TheAlex