Перейти к содержимому
SigitovAA
Главная
Новости
Учебные задания
О себе
Экскурсии
SigitovAA
Меню навигации
Меню навигации
Главная
Новости
Учебные задания
О себе
Экскурсии
Запись на прием
Запись на прием
Выберите врача:
-- Выберите врача --
Мезенцева Н.В. - Стоматолог-ортопед-терапевт
Дроздов А.О. - Стоматолог-хирург-имплантолог
Дятлов Я.С. - Стоматолог-хирург
Выберите дату и время приема:
Комментарий (необязательно):
Ваше имя:
Контактный телефон:
Записаться на прием
document.addEventListener('DOMContentLoaded', function() { // Генерация дней недели и временных слотов const daysContainer = document.getElementById('daysContainer'); const today = new Date(); const bookedTimes = {}; // Создаем дни на 2 недели вперед (кроме воскресенья) for (let i = 0; i < 14; i++) { const date = new Date(today); date.setDate(today.getDate() + i); // Пропускаем воскресенье (день недели 0) if (date.getDay() === 0) continue; const dayId = formatDate(date); bookedTimes[dayId] = []; const dayContainer = document.createElement('div'); dayContainer.className = 'day-container'; const dayHeader = document.createElement('div'); dayHeader.className = 'day-header'; dayHeader.textContent = getDayName(date) + ', ' + formatDate(date); const timeSlots = document.createElement('div'); timeSlots.className = 'time-slots'; // Создаем кнопки временных слотов (каждые 30 минут с 9:00 до 18:00) for (let hour = 9; hour < 18; hour++) { for (let minute = 0; minute < 60; minute += 30) { const time = `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`; const timeBtn = document.createElement('button'); timeBtn.type = 'button'; timeBtn.className = 'time-btn'; timeBtn.textContent = time; timeBtn.dataset.day = dayId; timeBtn.dataset.time = time; timeBtn.addEventListener('click', function() { selectTime(this); }); timeSlots.appendChild(timeBtn); } } dayContainer.appendChild(dayHeader); dayContainer.appendChild(timeSlots); daysContainer.appendChild(dayContainer); } // Функция выбора времени function selectTime(btn) { document.querySelectorAll('.time-btn').forEach(b => { b.classList.remove('selected'); }); btn.classList.add('selected'); document.getElementById('selectedDay').value = btn.dataset.day; document.getElementById('selectedTime').value = btn.dataset.time; } // Вспомогательные функции для работы с датами function formatDate(date) { const day = date.getDate().toString().padStart(2, '0'); const month = (date.getMonth() + 1).toString().padStart(2, '0'); const year = date.getFullYear(); return `${day}.${month}.${year}`; } function getDayName(date) { const days = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота']; return days[date.getDay()]; } });
body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; line-height: 1.6; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 5px; font-weight: bold; } select, textarea, input { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; } textarea { height: 100px; resize: vertical; } .time-slots { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; } .time-btn { padding: 8px 12px; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; } .time-btn:hover { background-color: #45a049; } .time-btn.selected { background-color: #2E7D32; font-weight: bold; } .time-btn:disabled { background-color: #cccccc; cursor: not-allowed; } .day-container { margin-bottom: 20px; border: 1px solid #eee; padding: 15px; border-radius: 5px; background-color: #f9f9f9; } .day-header { font-weight: bold; margin-bottom: 10px; color: #333; font-size: 1.1em; } .submit-btn { background-color: #4CAF50; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.3s; } .submit-btn:hover { background-color: #45a049; } /* Страницы успеха и ошибки */ .success-page, .error-page { max-width: 800px; margin: 0 auto; padding: 20px; text-align: center; } .success-message { color: #2e7d32; background: #e8f5e9; padding: 20px; border-radius: 5px; margin: 20px 0; } .error-message { color: #d32f2f; background: #ffebee; padding: 20px; border-radius: 5px; margin: 20px 0; } .back-btn { display: inline-block; margin-top: 20px; padding: 10px 15px; background: #4CAF50; color: white; text-decoration: none; border-radius: 4px; } .back-btn:hover { background: #45a049; }
Results:
Запись на прием
Запись на прием
Выберите врача:
-- Выберите врача --
Мезенцева Н.В. - Стоматолог-ортопед-терапевт
Дроздов А.О. - Стоматолог-хирург-имплантолог
Дятлов Я.С. - Стоматолог-хирург
Выберите дату и время приема:
Комментарий (необязательно):
Ваше имя:
Контактный телефон:
Записаться на прием