alert, prompt, confirm
Эта функция показывает сообщение и ждёт, пока пользователь нажмёт кнопку «ОК».
Например:
Это небольшое окно с сообщением называется модальным окном. Понятие модальное означает, что пользователь не может взаимодействовать с интерфейсом остальной части страницы, нажимать на другие кнопки и т.д. до тех пор, пока взаимодействует с окном. В данном случае – пока не будет нажата кнопка «OK».
Функция prompt
принимает два аргумента:
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена.
title
Текст для отображения в окне.default
Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.Квадратные скобки в синтаксисе [...]
Квадратные скобки вокруг default
в описанном выше синтаксисе означают, что параметр факультативный, необязательный.
Пользователь может напечатать что-либо в поле ввода и нажать OK. Введённый текст будет присвоен переменной result
. Пользователь также может отменить ввод нажатием на кнопку «Отмена» или нажав на клавишу Esc. В этом случае значением result
станет null
.
Вызов prompt
возвращает текст, указанный в поле для ввода, или null
, если ввод отменён пользователем.
Например:
❗ Для IE: всегда устанавливайте значение по умолчанию
Второй параметр является необязательным, но если не указать его, то Internet Explorer вставит строку "undefined"
в поле для ввода.
Запустите код в Internet Explorer и посмотрите на результат:
Чтобы prompt
хорошо выглядел в IE, рекомендуется всегда указывать второй параметр:
Синтаксис:
Функция confirm
отображает модальное окно с текстом вопроса question
и двумя кнопками: OK и Отмена.
Результат – true
, если нажата кнопка OK. В других случаях – false
.
Например:
Проблеми з confirm
Хотів перед запитом з confirm закрити popup-менюшку і виділити червоним рядок в таблиці, який мав видалятися. Але confirm спрацьювував, а менюшка не закривалася і рядок не виділявся. Хоча текстові мітки в config.log() між ціми командами виводилися коректно.
Я так і не зрозумів - в чому причина?..
Зробив задумане лише обгорнувши confirm
у setTimeout(function() {}, 50);
Last updated