Задача: Есть три шага в форме, после выбора одного из элементов выбранный шаг, а следующий появляется. По клику на элемент нужно отправить его id в объект registration, как это сделать?
const request = new XMLHttpRequest();
var steps = document.querySelectorAll('.master-change, .service-change, .date-block');
// Скрываем все шаги при загрузке страницы
window.onload = function() {
steps.forEach((element, index) => {
if (index > 0) {
element.classList.add('hide');
}
});
};
//Переход по шагам
var choiseElement = document.querySelectorAll('.master-list, .service-list'); // Выбираем элементы с которых отлавливаем клик
choiseElement.forEach((element, index) => {
element.addEventListener('click', function() {
nextStep(element, index); // Вешаем событие на каждый из них
}, false);
});
var registration = {
masterName: '',
serviceType: '',
time: ''
};
function nextStep(el, index) {
steps[index].classList.toggle('hide'); // После клика элемент исчезает
steps[index + 1].classList.toggle('hide'); // А идущий за ним появляется
}
const submit = document.querySelector('.btn-submit');
submit.addEventListener('click', function() {
event.preventDefault(); // Отменяем действие по умолчанию
request.open('GET', './scripts/info.json', true);
request.setRequestHeader('Content-type', './scripts/info.json; charset=UTF-8');
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
// alert(request.responseText);
} else {
console.log(request.status + ' ' + request.statusText);
}
}
request.send();
console.log(registration);
});
.hide {
display: none;
}
<main class="pageBody">
<div class="index">
<div class="container">
<div class="form-block">
<form class="form-order" name="form-order">
<div class="from-order__step from-order__step-1 master-change">
<div class="master-list">
<div class="master-list__item" id="master_1"><img class="master-list__photo" src="http://via.placeholder.com/64x64" width="64px" height="64px" alt="Master photo">
<div class="master-name" id="master_1" href="#">Master name</div>
</div>
<div class="master-list__item" id="master_2"><img class="master-list__photo" src="http://via.placeholder.com/64x64" width="64px" height="64px" alt="Master photo">
<div class="master-name" id="master_2" href="#">Master name</div>
</div>
<div class="master-list__item" id="master_3"><img class="master-list__photo" src="http://via.placeholder.com/64x64" width="64x" height="64px" alt="Master photo">
<div class="master-name" id="master_3" href="#">Master name</div>
</div>
</div>
</div>
<div class="from-order__step from-order__step-2 service-change hide">
<div class="service-list">
<div class="service-list__item" id="service_1">
<h3 class="service__item__name">Service name </h3>
<p class="service__item__description">Service description Service description Service description Service description</p><span class="service__price">999 rub</span><span class="service__time">14:44</span>
</div>
<div class="service-list__item" id="service_2">
<h3 class="service__item__name">Service name </h3>
<p class="service__item__description">Service description Service description Service description Service description</p><span class="service__price">999 rub</span><span class="service__time">14:44</span>
</div>
<div class="service-list__item" id="service_3">
<h3 class="service__item__name">Service name </h3>
<p class="service__item__description">Service description Service description Service description Service description</p><span class="service__price">999 rub</span><span class="service__time">14:44</span>
</div>
</div>
</div>
<div class="from-order__step from-order__step-3 date-block hide">
<div class="date-block__calendar">
<div class="date-block__time">
<select class="date-block__time">
<option>10:00</option>
<option>11:00</option>
<option>12:00</option>
<option>13:00</option>
<option>14:00</option>
<option>15:00</option>
<option>16:00</option>
<option>17:00</option>
<option>18:00</option>
<option>19:00</option>
<option>20:00</option>
</select>
</div>
<button class="btn btn-submit" type="submit">Отправить</button>
</div>
</div>
</form>
</div>
</div>
</div>
</main>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как проверить, во скольких вкладках открыт сайт? Чтобы можно было избежать высокой нагрузки на сервер, если например на сайте каждые пару...
Добрый День! Столкнулся с проблемой, JS никак не может понять стиль и выдает ошибку в consolelog каждый раз
Как сделать так чтобы, если в числе больше двух нулей, то оно отделялось пробелами то есть: 100 < 2 , 1 000 > 2, 1 000 000 > 2 и тд
Добрый день, есть скрипт карусельки, не могу додуматься как можно запустить автоплей, при попадании блока карусели на экран, а не при загрузке...