|
@@ -1,114 +1,71 @@
|
|
|
-document.addEventListener('DOMContentLoaded', function () {
|
|
|
- const email = localStorage.getItem('email'); // Получаем email из localStorage
|
|
|
|
|
|
- if (email) {
|
|
|
- fetch('/get_user', {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+document.addEventListener('DOMContentLoaded', function() {
|
|
|
+ // ... (Код получения данных пользователя как в предыдущем примере)
|
|
|
+
|
|
|
+ // Обработка нажатия кнопки "Редактировать"
|
|
|
+ const editButton = document.getElementById("editButton");
|
|
|
+ const saveChangesButton = document.getElementById("saveChangesButton");
|
|
|
+ const editProfileForm = document.getElementById("editProfileForm");
|
|
|
+
|
|
|
+ editButton.addEventListener('click', function() {
|
|
|
+ editProfileForm.style.display = "block"; // Показывает форму редактирования
|
|
|
+ editButton.style.display = "none"; // Скрывает кнопку "Редактировать"
|
|
|
+ saveChangesButton.style.display = "block"; // Показать кнопку "Записать"
|
|
|
+ });
|
|
|
+
|
|
|
+ // Обработка нажатия кнопки "Записать"
|
|
|
+ saveChangesButton.addEventListener('click', function() {
|
|
|
+ // Получение данных из формы
|
|
|
+ const name = document.getElementById("editName").value;
|
|
|
+ const surname = document.getElementById("editSurname").value;
|
|
|
+ const patronymic = document.getElementById("editPatronymic").value;
|
|
|
+ const email = document.getElementById("editEmail").value;
|
|
|
+ const phone = document.getElementById("editPhone").value;
|
|
|
+
|
|
|
+ // Отправка данных на сервер (как в предыдущем примере)
|
|
|
+ fetch('/update_user_data', { // Замените '/update_user_data' на реальный URL-адрес
|
|
|
method: 'POST',
|
|
|
headers: {
|
|
|
'Content-Type': 'application/json'
|
|
|
},
|
|
|
- body: JSON.stringify({ email: email })
|
|
|
+ body: JSON.stringify({
|
|
|
+ name: name,
|
|
|
+ surname: surname,
|
|
|
+ patronymic: patronymic,
|
|
|
+ email: email,
|
|
|
+ phone: phone
|
|
|
+ })
|
|
|
})
|
|
|
.then(response => {
|
|
|
if (response.ok) {
|
|
|
return response.json();
|
|
|
} else {
|
|
|
- throw new Error('Ошибка при получении пользователя');
|
|
|
+ throw new Error('Ошибка обновления данных');
|
|
|
}
|
|
|
})
|
|
|
- .then(userData => {
|
|
|
- // Заполнение данных профиля
|
|
|
- document.getElementById("name").textContent = userData.name;
|
|
|
- document.getElementById("surname").textContent = userData.surname;
|
|
|
- document.getElementById("patronymic").textContent = userData.patronymic;
|
|
|
- document.getElementById("email").textContent = userData.email;
|
|
|
- document.getElementById("phone").textContent = userData.phone;
|
|
|
-
|
|
|
- // Обработка кнопки "Редактировать"
|
|
|
- const editButton = document.getElementById("editButton");
|
|
|
- editButton.addEventListener('click', function() {
|
|
|
- // Заполнение формы данными из userData
|
|
|
- document.getElementById('editName').value = userData.name;
|
|
|
- document.getElementById('editSurname').value = userData.surname;
|
|
|
- document.getElementById('editPatronymic').value = userData.patronymic;
|
|
|
- document.getElementById('editEmail').value = userData.email;
|
|
|
- document.getElementById('editPhone').value = userData.phone;
|
|
|
+ .then(data => {
|
|
|
+ // Обновление данных пользователя на странице
|
|
|
+ document.getElementById("name").textContent = data.name;
|
|
|
+ document.getElementById("surname").textContent = data.surname;
|
|
|
+ document.getElementById("patronymic").textContent = data.patronymic;
|
|
|
+ document.getElementById("email").textContent = data.email;
|
|
|
+ document.getElementById("phone").textContent = data.phone;
|
|
|
|
|
|
- // Отображение формы редактирования
|
|
|
- document.getElementById("editProfileForm").style.display = "block";
|
|
|
- document.getElementById("user-info").style.display = "none";
|
|
|
- });
|
|
|
-
|
|
|
- // Обработка кнопки "Записать" в форме редактирования
|
|
|
- const saveChangesButton = document.getElementById("saveChangesButton");
|
|
|
- saveChangesButton.addEventListener('click', function() {
|
|
|
- const newName = document.getElementById("editName").value;
|
|
|
- const newSurname = document.getElementById("editSurname").value;
|
|
|
- const newPatronymic = document.getElementById("editPatronymic").value;
|
|
|
- const newEmail = document.getElementById("editEmail").value;
|
|
|
- const newPhone = document.getElementById("editPhone").value;
|
|
|
-
|
|
|
- // Отправка данных на сервер для обновления профиля
|
|
|
- fetch('/saves_user', {
|
|
|
- method: 'POST',
|
|
|
- headers: {
|
|
|
- 'Content-Type': 'application/json'
|
|
|
- },
|
|
|
- body: JSON.stringify({
|
|
|
- name: newName,
|
|
|
- surname: newSurname,
|
|
|
- patronymic: newPatronymic,
|
|
|
- email: newEmail,
|
|
|
- phone: newPhone
|
|
|
- })
|
|
|
- })
|
|
|
- .then(response => {
|
|
|
- if (response.ok) {
|
|
|
- showPopup('successPopup');
|
|
|
-
|
|
|
- // Обновление данных профиля
|
|
|
- document.getElementById("name").textContent = newName;
|
|
|
- document.getElementById("surname").textContent = newSurname;
|
|
|
- document.getElementById("patronymic").textContent = newPatronymic;
|
|
|
- document.getElementById("email").textContent = newEmail;
|
|
|
- document.getElementById("phone").textContent = newPhone;
|
|
|
-
|
|
|
- // Скрытие формы редактирования и показ информации о пользователе
|
|
|
- document.getElementById("editProfileForm").style.display = "none";
|
|
|
- document.getElementById("user-info").style.display = "block";
|
|
|
-
|
|
|
- // Можно также обновить данные в localStorage
|
|
|
- localStorage.setItem('email', newEmail);
|
|
|
- } else {
|
|
|
- throw new Error('Ошибка при обновлении профиля');
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- showPopup('errorPopup', 'Ошибка при обновлении профиля');
|
|
|
- });
|
|
|
- });
|
|
|
+ // Отображение всплывающего окна
|
|
|
+ document.getElementById("successPopup").style.display = "block";
|
|
|
})
|
|
|
.catch(error => {
|
|
|
- showPopup('errorPopup', 'Ошибка при получении пользователя');
|
|
|
+ // Обработка ошибки
|
|
|
+ console.error('Ошибка:', error);
|
|
|
+ alert('Ошибка обновления профиля. Пожалуйста, попробуйте снова.');
|
|
|
});
|
|
|
- } else {
|
|
|
- window.location.href = 'авторизация.html';
|
|
|
- }
|
|
|
-
|
|
|
- // Функция для показа попапа
|
|
|
- function showPopup(popupId, message) {
|
|
|
- const popup = document.getElementById(popupId);
|
|
|
- popup.style.display = 'block';
|
|
|
- if (message) {
|
|
|
- document.getElementById('errorMessage').textContent = message;
|
|
|
- }
|
|
|
- }
|
|
|
+ });
|
|
|
|
|
|
- // Функция для закрытия попапа
|
|
|
+ // Функция закрытия всплывающего окна
|
|
|
function closePopup() {
|
|
|
- const popups = document.querySelectorAll('.popup');
|
|
|
- popups.forEach(popup => {
|
|
|
- popup.style.display = 'none';
|
|
|
- });
|
|
|
+ document.getElementById("successPopup").style.display = "none";
|
|
|
}
|
|
|
-});
|
|
|
+});
|