- Window confirm()
- Note
- See Also:
- Syntax
- Parameters
- Return Value
- More Examples
- Browser Support
- Взаимодействие с пользователем: alert, prompt, confirm
- alert
- prompt
- confirm
- Особенности встроенных функций
- Резюме
- Взаимодействие: alert, prompt, confirm
- alert
- prompt
- confirm
- Итого
- Programmatically close alert() in Javascript [duplicate]
- Answer by Cameron Cherry
- Answer by Lylah Whitehead
- Answer by Raymond Macdonald
- Answer by Kaleb Ellison
- Answer by Dayana McCoy
- Answer by Rebecca Cobb
- Answer by Felix Finley
- Answer by Jeffrey Tapia
Window confirm()
The confirm() method displays a dialog box with a message, an OK button, and a Cancel button.
The confirm() method returns true if the user clicked «OK», otherwise false .
Note
A confirm box is often used if you want the user to verify or accept something.
A confirm box takes the focus away from the current window, and forces the user to read the message.
Do not overuse this method. It prevents the user from accessing other parts of the page until the box is closed.
See Also:
Syntax
Parameters
Return Value
More Examples
Display a confirmation box, and output what the user clicked:
let text;
if (confirm(«Press a button!») == true) text = «You pressed OK!»;
> else text = «You canceled!»;
>
Browser Support
confirm() is supported in all browsers:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |
Взаимодействие с пользователем: alert, prompt, confirm
Материал на этой странице устарел, поэтому скрыт из оглавления сайта.
Более новая информация по этой теме находится на странице https://learn.javascript.ru/alert-prompt-confirm.
В этом разделе мы рассмотрим базовые UI операции: alert , prompt и confirm , которые позволяют работать с данными, полученными от пользователя.
alert
alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».
Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».
prompt
Функция prompt принимает два аргумента:
result = prompt(title, default);
Она выводит модальное окно с заголовком title , полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.
Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.
Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null , если ввод отменён.
Единственный браузер, который не возвращает null при отмене ввода – это Safari. При отсутствии ввода он возвращает пустую строку. Предположительно, это ошибка в браузере.
Если нам важен этот браузер, то пустую строку нужно обрабатывать точно так же, как и null , т.е. считать отменой ввода.
Как и в случае с alert , окно prompt модальное.
var years = prompt('Сколько вам лет?', 100); alert('Вам ' + years + ' лет!')
Второй параметр может отсутствовать. Однако при этом IE вставит в диалог значение по умолчанию «undefined» .
Запустите этот код в IE, чтобы понять о чём речь:
Поэтому рекомендуется всегда указывать второй аргумент:
confirm
confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.
Результатом будет true при нажатии OK и false – при CANCEL( Esc ).
var isAdmin = confirm("Вы - администратор?"); alert( isAdmin );
Особенности встроенных функций
Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.
С одной стороны – это недостаток, так как нельзя вывести окно в своём, особо красивом, дизайне.
С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.
Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.
Резюме
- alert выводит сообщение.
- prompt выводит сообщение и ждёт, пока пользователь введёт текст, а затем возвращает введённое значение или null , если ввод отменён (CANCEL/ Esc ).
- confirm выводит сообщение и ждёт, пока пользователь нажмёт «OK» или «CANCEL» и возвращает true/false .
Взаимодействие: alert, prompt, confirm
Так как мы будем использовать браузер как демо-среду, нам нужно познакомиться с несколькими функциями его интерфейса, а именно: alert , prompt и confirm .
alert
С этой функцией мы уже знакомы. Она показывает сообщение и ждёт, пока пользователь нажмёт кнопку «ОК».
Это небольшое окно с сообщением называется модальным окном. Понятие модальное означает, что пользователь не может взаимодействовать с интерфейсом остальной части страницы, нажимать на другие кнопки и т.д. до тех пор, пока взаимодействует с окном. В данном случае – пока не будет нажата кнопка «OK».
prompt
Функция prompt принимает два аргумента:
result = prompt(title, [default]);
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена.
title Текст для отображения в окне. default Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.
Квадратные скобки вокруг default в описанном выше синтаксисе означают, что параметр факультативный, необязательный.
Пользователь может напечатать что-либо в поле ввода и нажать OK. Введённый текст будет присвоен переменной result . Пользователь также может отменить ввод нажатием на кнопку «Отмена» или нажав на клавишу Esc . В этом случае значением result станет null .
Вызов prompt возвращает текст, указанный в поле для ввода, или null , если ввод отменён пользователем.
let age = prompt('Сколько тебе лет?', 100); alert(`Тебе $ лет!`); // Тебе 100 лет!
Второй параметр является необязательным, но если не указать его, то Internet Explorer вставит строку «undefined» в поле для ввода.
Запустите код в Internet Explorer и посмотрите на результат:
Чтобы prompt хорошо выглядел в IE, рекомендуется всегда указывать второй параметр:
confirm
Функция confirm отображает модальное окно с текстом вопроса question и двумя кнопками: OK и Отмена.
Результат – true , если нажата кнопка OK. В других случаях – false .
let isBoss = confirm("Ты здесь главный?"); alert( isBoss ); // true, если нажата OK
Итого
Мы рассмотрели 3 функции браузера для взаимодействия с пользователем:
alert показывает сообщение. prompt показывает сообщение и запрашивает ввод текста от пользователя. Возвращает напечатанный в поле ввода текст или null , если была нажата кнопка «Отмена» или Esc с клавиатуры. confirm показывает сообщение и ждёт, пока пользователь нажмёт OK или Отмена. Возвращает true , если нажата OK, и false , если нажата кнопка «Отмена» или Esc с клавиатуры.
Все эти методы являются модальными: останавливают выполнение скриптов и не позволяют пользователю взаимодействовать с остальной частью страницы до тех пор, пока окно не будет закрыто.
На все указанные методы распространяются два ограничения:
- Расположение окон определяется браузером. Обычно окна находятся в центре.
- Визуальное отображение окон зависит от браузера, и мы не можем изменить их вид.
Такова цена простоты. Есть другие способы показать более приятные глазу окна с богатой функциональностью для взаимодействия с пользователем, но если «навороты» не имеют значения, то данные методы работают отлично.
Programmatically close alert() in Javascript [duplicate]
As far as I know you cannot close the javascript’s alert(); by code. You can try to use alternative notification method like modal window or something (so then if user is back online you can simply use jQuery function to hide/remove the modal box)., Why do we never learn cross validation in regular statistical textbooks? ,According to my knowledge Java Script Alert box cant be change or close programmatically. So you can use Jquery UI Dialog box or bootstrap model or something else. ,Connect and share knowledge within a single location that is structured and easy to search.
As far as I know you cannot close the javascript’s alert(); by code. You can try to use alternative notification method like modal window or something (so then if user is back online you can simply use jQuery function to hide/remove the modal box).
Answer by Cameron Cherry
window.setTimeout('alert("Message goes here");window.close();', 5000);
Answer by Lylah Whitehead
window.alert() instructs the browser to display a dialog with an optional message, and to wait until the user dismisses the dialog.,Under some conditions — for example, when the user switches tabs — the browser may not actually display a dialog, or may not wait for the user to dismiss the dialog., A string you want to display in the alert dialog, or, alternatively, an object that is converted into a string and displayed. ,BCD tables only load in the browser
Answer by Raymond Macdonald
Even then, if I call closeAlert() from the Javascript console, it does nothing except return the error:,The docs show you can close an alert by calling the aptly named closeAlert() from an alert button’s onclick event.,Successfully merging a pull request may close this issue.,However, I’d like an alert to be closed by pressing the Esc key, yet there seems to be something blocking the escape key press from reaching my custom keypress handler, even though all other key presses are being registered.
Cannot read property 'target' of undefined
Answer by Kaleb Ellison
As mentioned previously you really can’t do this. You can do a modal dialog inside the window using a UI framework, or you can have a popup window, with a script that auto-closes after a timeout. each has a negative aspect. The modal window inside the browser won’t create any notification if the window is minimized, and a programmatic (timer based) popup is likely to be blocked by modern browsers, and popup blockers.,A sidenote: if you have an Alert(«data»), you won’t be able to keep code running in background (AFAIK). . the dialog box is a modal window, so you can’t lose focus too. So you won’t have any keypress or timer running. I guess you could open a popup window and call that a dialog box. I’m unsure of the details, but I’m pretty sure you can close a window programmatically that you opened from javascript. Would this suffice?,Ref: inspired by this answer, though that answer doesn’t work in modern Chrome anymore, but the Notification API does.
If you want it to close after 1s:
var notification = new Notification("Hi there!", ); setTimeout(function() , 1000);
Answer by Dayana McCoy
If you’re building our JavaScript from source, it requires util.js. The compiled version includes this.,Enable dismissal of an alert via JavaScript:,Be sure you’ve loaded the alert plugin, or the compiled Bootstrap JavaScript.,To animate alerts when dismissing them, be sure to add the .fade and .show classes.
A simple primary alert—check it out! A simple secondary alert—check it out! A simple success alert—check it out! A simple danger alert—check it out! A simple warning alert—check it out! A simple info alert—check it out! A simple light alert—check it out! A simple dark alert—check it out!
Answer by Rebecca Cobb
Easy to use and highly flexible! A jQuery plugin that provides great set of features like, Auto-close, Ajax-loading, Themes, Animations and more. This plugin is actively developed, I would love you have your suggestions. , alerts, confirms and dialogs in one. , NOTE : The $.confirm(), $.dialog() & $.alert() methods are alias of jconfirm(). All three methods indirectly call the jconfirm base function altering the provided options. , it is ideal to set this in jconfirm.defaults
via Bower:
Simply copy these links
$ bower install craftpip/jquery-confirm
$ npm install jquery-confirm
Answer by Felix Finley
A message with auto close timer Try me! swal(< title: 'Auto close alert!', text: 'I will close in 2 seconds.', timer: 2000 >) , Call the sweetAlert2-function after the page has loaded swal(< title: 'Error!', text: 'Do you want to continue', type: 'error', confirmButtonText: 'Cool' >) ,A message with a custom image and CSS animation disabled,Custom HTML description and buttons
Code:
alert('Oops! Something went wrong!')
Answer by Jeffrey Tapia
Description: Bind an event handler to the «dblclick» JavaScript event, or trigger that event on an element.,The dblclick event is only triggered after this exact series of events:,To bind a «Hello World!» alert box to the dblclick event on every paragraph on the page:,To trigger the event manually, call .dblclick() without an argument: