Язык JavaScript: Диалоги

Alert

Синтаксис: window.alert('Сообщение')

Выводит на экран сообщение в виде диалога с кнопкой ОК. Диалоговое окно является модальным, то есть оно приостанавливает программу до закрытия и не позволяет переключиться на окно браузера.

Сообщение является строкой неформатированного текста, но может включать сочетание «\n», начинающее новую строчку.

Чаще всего используется для отображения ошибок. Фрагмент «window.» обычно опускают.

Пример. Приведенный ниже фрагмент HTML-кода служит для вывода кнопки. В качестве команды реакции на нажатие, ей назначен вывод диалога.

<input type="button" value="Пример" onclick=alert("Гимназия")>

Результат: . Этот пример намеренно сделан достаточно сложным.

Confirm

Синтаксис: window.confirm('Вопрос')

Выводит на экран сообщение в виде диалога с кнопками ОК и Cancel, то есть предназначено для того, чтобы задать простой вопрос пользователю. Диалоговое окно является модальным.

<input type="button" value="Пример" onclick=confirm("Гимназия?")>

Результат: .

Нажатие на ОК вернет логическое значение истина (true), а на Cancel – ложь (false). Куда? В приведенном примере – никуда.

На практике можно сделать так. (Именно это и реализовано на странице в виде скрипта.)

<script>function confirm_demo(){
//Создали функцию confirm_demo. Она не имеет аргументов
//Текст функции открывает фигурная скобка
var AskUser; //Создаем переменную для запоминания нажатой кнопки
AskUser = confirm('Дальше?'); //Результат запомнится в переменной AskUser
//Далее анализируем
if (AskUser==true) //То есть нажато OK. Анализ AskUser в круглых скобках!
	{ //Открытие блока команд для истинности if
	alert('Ладно,\nдавай продолжать') //Сообщение о продолжении работы
	//Оно содержит \n, что разобъет текст на две строчки
	} //Завершение блока для истинности if
//Далее - иначе, то есть нажато Cancel
else {
	alert('Всё, отдыхаем!'); //Сообщение
	stop(); //выполнение функции прерывается командой stop
	}
//Здесь может находится текст основной программы
}
</script>
//Текст функции ЗАкрывает фигурная скобка. Закрылся и тег скрипта

Далее пишется почти уже привычный текст для активации примера:

<input type="button" value="Пример confirm" onclick=confirm_demo()>

Что здесь изменилось? Вместо указания на диалог, использован переход на описанную выше функцию. Таким образом, при нажатии на кнопку произойдет вызов confirm_demo.

Prompt

Синтаксис:

Синтаксис: window.prompt('текст сообщения', значение по умолчанию).

Выводит модальное окно диалога для ввода данных пользователем.

<input type="button" value="Пример prompt" onclick=alert("Сколько?","100")>

Результат: .

Если значение по умолчанию не указать, то оно будет задано как неопределенное (undefined): .

Чтобы избежать этой неприятности, можно задать значение в виде пустой строки:

<input type="button" value="Пустой prompt" onclick=alert("Сколько?","")>

Результат: .


Copyright © 1993–2020 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.