Хотя вы, вероятно, получите больше, а ссылки и комментарии, предоставленные Theraot, очень хороши, я добавлю кое-что, что могло бы прояснить.
Окно сообщения с вопросом: «Вы хотите сделать… ?» с да / нет / отменить. Вы ничего не можете сделать, пока это диалоговое окно не будет сделано. Все остальные windows до текущего находятся в ожидании, пока это диалоговое окно да / нет / отмена будет завершено, затем продолжите работу.
Теперь это слишком упрощает его. Модальный диалог может представлять собой целую форму со множеством кнопок, элементов управления. Цель состоит в том, чтобы все эти «вещи» были заполнены / выполнены до того, как будет сделан следующий шаг в рамках потребностей вашего приложения.
Из концепции, не основанной на веб-технологиях, но подобное также будет применимо. У вас есть продукт / услуга для продажи. Кто-то размещает заказ или запрос на обслуживание. Прежде чем вы сможете выполнить заказ, вам нужна вся информация о клиенте. Таким образом, вы бы создали окно с такими вещами, как имя, адрес и т. Д. c, которые имеют решающее значение для продолжения, даже если минимальный минимум - это имя и телефон для контактов. Кнопка «Сохранить» в форме обеспечит минимальное количество необходимых компонентов и сохранит запись для клиента и возврат. ТЕПЕРЬ вы можете выполнить оставшуюся часть заказа и назначить новому клиенту.
Также, если вы имеете дело с банковской транзакцией, у вас есть транзакция. Вам нужно ввести все + с этой учетной записи и - на другую учетную запись, убедитесь, что все + баланс - перед сохранением.
Обратите внимание, вы могли бы иметь вложенный модальный windows, но каждое модальное окно должно быть завершено, прежде чем управление вернется к предыдущему. Итак, давайте возьмем первый пример. У вас есть новый клиент. Вы вызываете модальное окно, чтобы получить информацию о клиенте. В этой модальной форме есть некоторый другой набор информации, связанной с клиентом, который просто не вписывается в экран добавления клиента, поэтому кнопка на этом экране вызывает вторичную модальную форму, чтобы получить некоторый дополнительный контекст. Теперь эта форма является самой верхней для операций. По завершении он возвращается к экрану добавления клиента. Когда вы закончите с экраном добавления клиента, вы вернетесь к остальным нормальным операциям.
Надеюсь, это поможет в контексте того, как можно использовать модальное окно. В итоге, это просто сделать все в этой форме, прежде чем вы вернетесь и возобновите операции после. Если ни один клиент никогда не будет добавлен, вы не захотите выполнить данный заказ или позвонить в сервис.