@@ -107,13 +107,14 @@ selectEl.addEventListener("change", (e) => {
confirmBtn.value = selectEl.value;
});
-// Кнопка "Підтвердити" викликає подію "close" на діалозі – у зв'язку з [formmethod="dialog"]
+// Кнопка "Скасувати" закриває діалог без подання, у зв'язку з [formmethod="dialog"], запускаючи подію закриття.
favDialog.addEventListener("close", (e) => {
outputBox.value =
favDialog.returnValue === "default"
? "Немає значення повернення."
: `Значення повернення: ${favDialog.returnValue}.`; // Необхідно перевіряти на "default", а не на порожній рядок
});
+// Не дати кнопці "підтвердження" запустити усталену поведінку подання форми, а також закрити діалог методом `close()`, що запускає подію "close".
confirmBtn.addEventListener("click", (event) => {
event.preventDefault(); // Ми не хочемо подавати цю несправжню форму
favDialog.close(selectEl.value); // Тут необхідно надіслати значення віконця вибору.
@@ -124,7 +125,7 @@ confirmBtn.addEventListener("click", (event) => {
{{EmbedLiveSample("pohlyblenyi-pryklad", "100%", 300)}}
-Цей модальний діалог може бути закритий трьома способами. Для користувачів клавіатури, модальні діалоги можуть бути закриті за допомогою клавіші Esc. У цьому прикладі, кнопка "Скасувати" закриває діалог за допомогою методу форми `dialog`, а "Надіслати" закриває діалог за допомогою методу {{domxref("HTMLDialogElement.close()")}}.
+Цей модальний діалог може бути закритий трьома способами. Для користувачів клавіатури, модальні діалоги можуть бути закриті за допомогою клавіші Esc. У цьому прикладі, кнопка "Скасувати" закриває діалог за допомогою методу форми `dialog`, а "Підтвердити" закриває діалог за допомогою методу {{domxref("HTMLDialogElement.close()")}}.
Кнопка "Скасувати" має атрибут [`formmethod="dialog"`](/uk/docs/Web/HTML/Element/input/submit#formmethod), який відкидає типове значення {{HTTPMethod("GET")}} атрибута [`method`](/uk/docs/Web/HTML/Element/form#method) елемента {{HTMLElement("form")}}. Коли метод форми – [`dialog`](#prymytky-shchodo-zastosuvannia), стан форми зберігається, а не подається, і діалог закривається.
Коли `action` немає, подання форми з усталеним методом {{HTTPMethod("GET")}} призводить до перезавантаження сторінки. Тут використовується JavaScript, щоб запобігти поданню та закрити діалог за допомогою методів {{domxref("event.preventDefault()")}} і {{domxref("HTMLDialogElement.close()")}} відповідно.
From 5bbe08ae419f627074391a77e1f8177b3edd3805 Mon Sep 17 00:00:00 2001
From: Vitalii Perehonchuk
Date: Wed, 22 Nov 2023 18:33:36 +0200
Subject: [PATCH 03/15] update(HTML): web/html/element/dialog
---
files/uk/web/html/element/dialog/index.md | 380 ++++++++++++++++++++--
1 file changed, 352 insertions(+), 28 deletions(-)
diff --git a/files/uk/web/html/element/dialog/index.md b/files/uk/web/html/element/dialog/index.md
index 1605c208f1..a037411e8b 100644
--- a/files/uk/web/html/element/dialog/index.md
+++ b/files/uk/web/html/element/dialog/index.md
@@ -1,5 +1,5 @@
---
-title: ": Діалоговий елемент"
+title: " – діалоговий елемент"
slug: Web/HTML/Element/dialog
page-type: html-element
browser-compat: html.elements.dialog
@@ -7,7 +7,11 @@ browser-compat: html.elements.dialog
{{HTMLSidebar}}
-Елемент [HTML](/uk/docs/Web/HTML) **``** представляє діалогове віконце або інший інтерактивний компонент, такий як віконце попередження, інспектор або підвікно.
+Елемент [HTML](/uk/docs/Web/HTML) **``** представляє модальне або немодальне діалогове віконце або інший інтерактивний компонент, такий як віконце попередження, інспектор або підвікно.
+
+Елемент HTML `` використовується для створення як модальних, так і немодальних діалогових віконець. Модальні діалогові віконця переривають взаємодію з іншою частиною сторінки, яка стає нерухомою, тоді як немодальні діалогові віконця дозволяють взаємодію з рештою сторінки.
+
+Для виведення елемента `` повинен використовуватися JavaScript. Використовуйте метод {{domxref("HTMLDialogElement.showModal()", ".showModal()")}}, щоб показати модальне вікно, та метод {{domxref("HTMLDialogElement.show()", ".show()")}}, щоб показати немодальне вікно. Вікно можна закрити за допомогою методу {{domxref("HTMLDialogElement.close()", ".close()")}} або методу [`dialog`](/uk/docs/Web/HTML/Element/form#method), коли подається елемент `