43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
var form = document.getElementById("reg-form");
|
||
var msg = document.getElementById("form-msg");
|
||
var submitBtn = document.getElementById("f-submit");
|
||
|
||
function showMsg(text, ok) {
|
||
msg.hidden = false;
|
||
msg.textContent = text;
|
||
msg.style.color = ok ? "var(--kt-ai-fg)" : "var(--kt-ai-danger)";
|
||
}
|
||
|
||
form.addEventListener("submit", async function (e) {
|
||
e.preventDefault();
|
||
var data = {
|
||
name: form.name.value.trim(),
|
||
department: form.department.value.trim(),
|
||
position: form.position.value.trim(),
|
||
phone: form.phone.value.trim(),
|
||
email: form.email.value.trim(),
|
||
guests: form.guests.value,
|
||
comment: form.comment.value.trim()
|
||
};
|
||
submitBtn.disabled = true;
|
||
submitBtn.textContent = "Отправляем…";
|
||
try {
|
||
var r = await fetch("api/register", {
|
||
method: "POST",
|
||
headers: { "Content-Type": "application/json" },
|
||
body: JSON.stringify(data)
|
||
});
|
||
var j = await r.json();
|
||
if (r.ok && j.ok) {
|
||
form.reset();
|
||
showMsg("Спасибо! Ваша регистрация принята. До встречи на мероприятии!", true);
|
||
} else {
|
||
showMsg(j.error || "Не удалось отправить. Попробуйте ещё раз.", false);
|
||
}
|
||
} catch (err) {
|
||
showMsg("Сервер недоступен. Попробуйте позже.", false);
|
||
}
|
||
submitBtn.disabled = false;
|
||
submitBtn.textContent = "Отправить регистрацию";
|
||
});
|