Prompt list что это
Как создать кастомизируемый вид для alert(), confirm() и prompt() для использования в JavaScript
Начинаем код для alert
Итак, разберём разметку (bootstrap и Font Awesome для шрифтовых икон) и код alert (я использую jQuery):
Как я говорил выше, к коде используется глобальное имя PromiseAlert и классы html разметки. В первой строке кода телу сообщения передаётся параметр функции alert. После этого методом bootstrap выводится модальное окно с определёнными опциями (они делают его более приближенным к нативному alert). Важно! Модальное окно запоминается в локальной переменной, которая ниже используется через замыкание.
Наконец, создаётся и возвращается, как результат alert Promise, в котором в результате закрытия модального окна выполняется resolve этого Promise.
Теперь посмотрим, как можно использовать этот alert:
В данном примере при клике на пустые ссылки внутри параграфов выводится сообщение. Обращаю внимание! Для соответствия спецификации функция alert должна предваряться ключевым словом await, а оно может быть использовано только внутри функции с ключевым словом async. Это позволяет в данном месте ожидать (скрипт остановится, как и в случае с нативным alert) закрытия модального окна.
Что будет если этого не сделать? Зависит от логики вашего приложения (пример такого подхода на рисунке выше). Если это конец кода или дальнейшие действия кода не перегружают страницу, то вероятно, всё будет нормально! Модальное окно провисит пока его не закроет пользователь. Но если будут ещё модальные окна или если страница перезагрузится, произойдёт переход на другую страницу, то пользователь просто не увидит вашего модального окна и логика будет разрушена. Могу сказать, что по опыту, сообщения о различных серверных ошибках (состояниях) или из библиотек кода вполне хорошо работают с нашим новым alert, хотя и не используют await.
Развиваем подход для confirm
Пойдём дальше. Без сомнения confirm может использоваться только в обвязке async/await, т.к. он должен сообщить коду результат выбора пользователя. Это относится и к prompt. Итак, confirm:
Тут есть отличие только в одном – нам нужно сообщить о выборе пользователя. Это делается с помощью ещё одной локальной переменной в замыкании – confirm. В случае нажатия подтверждающей кнопки, переменная устанавливается в true, а по умолчанию её значение false. Ну и при обработке закрытия модального окна resolve отдаёт эту переменную.
Вот использование (обязательно с async/await):
Двигаемся дальше – подход для prompt
Выше уже реализована логика и с тестом prompt. А его разметка и логика такие:
Отличие логики от confirm минимальное. Дополнительная локальная переменная в замыкании – prmpt. И у неё не логическое значение, а строка, которую вводит пользователь. Через замыкание её значение отдаёт resolve. А значение ей присваивается только при нажатии кнопки подтверждения (из поля input). Кстати, тут я разбазарил ещё одну глобальную переменную PromisePromptInput, просто для сокращения и альтернативы кода. С её помощью я устанавливаю фокус ввода (хотя можно сделать в едином подходе – либо так, либо как в получении значения).
Испытать этот подход в действии можно по ссылке. Код находится по ссылке.
Выглядит это примерно так (хотя по ссылке выше всё более разнообразно):
Вспомогательные средства
Они не относятся непосредственно к теме статьи, но позволяют раскрыть всю гибкость подхода.
Сюда относятся темы bootstrap. Бесплатные темы я взял тут.
Переключение языка с использованием автоматической установки по языку браузера. Тут три режима – автомат (по браузеру), русский или английский (принудительно). Автомат установлен по умолчанию.
Куки (отсюда) я использовал для запоминания темы и переключателя языка.
Темы переключаются просто установкой сегмента href css с вышеупомянутого сайта:
Ну и запоминаю в Куки для восстановления при загрузке:
Взаимодействие с пользователем: alert, prompt, confirm
Материал на этой странице устарел, поэтому скрыт из оглавления сайта.
Более новая информация по этой теме находится на странице https://learn.javascript.ru/alert-prompt-confirm.
alert
alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК».
Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».
prompt
Функция prompt принимает два аргумента:
Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.
Единственный браузер, который не возвращает null при отмене ввода – это Safari. При отсутствии ввода он возвращает пустую строку. Предположительно, это ошибка в браузере.
Запустите этот код в IE, чтобы понять о чём речь:
Поэтому рекомендуется всегда указывать второй аргумент:
confirm
confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.
Результатом будет true при нажатии OK и false – при CANCEL( Esc ).
Особенности встроенных функций
Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.
С одной стороны – это недостаток, так как нельзя вывести окно в своём, особо красивом, дизайне.
С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.
Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.
prompt
изменяет Cmd.exe командной строки, включая отображение любого нужного текста, например имя текущего каталога, дату и время или номер версии Microsoft Windows. При использовании без параметров эта команда сбрасывает командную строку до значения по умолчанию, которое представляет собой текущую букву диска и каталог, за которыми следует символ «больше чем» ( > ).
Синтаксис
Параметры
Комментарии
Сочетания символов, которые можно включить вместо или в дополнение к одной или нескольким символьным строкам в текстовом параметре:
Знак | Описание |
---|---|
$q | = (знак равенства) |
$$ | $ (Знак доллара) |
$t | Текущее время |
$d | Текущая дата |
$p | Текущий диск и путь |
$v | Номер версии Windows |
$n | Текущий диск |
$g | > (Больше чем знак) |
$l | | (Символ вертикальной черты) |
$_ | ВВОД-ПЕРЕВОД СТРОКИ |
$e | Escape-код ANSI (код 27) |
$h | Backspace (для удаления символа, записанного в командную строку) |
$a | & Знаки |
$c | ((Левая круглая скобка) |
$f | ) (Правая круглая скобка) |
$s | Пробел |
Если расширения команд включены, команда Prompt поддерживает следующие символы форматирования:
Знак | Описание |
---|---|
$+ | Ноль или более символов плюса ( + ) в зависимости от глубины стека + Directory (по одному символу для каждого уровня). |
$m | Удаленное имя, связанное с текущей буквой диска или пустой строкой, если текущий диск не является сетевым диском. |
Если включить $p символ в текстовый параметр, диск считывается после ввода каждой команды (для определения текущего диска и пути). Это может занять некоторое время, особенно для дисководов гибких дисков.
Примеры
Чтобы установить в командной строке с двумя строками текущее время и дату в первой строке и знак «больше чем» на следующей строке, введите:
Запрос изменится следующим образом, где Дата и время будут актуальными:
Чтобы вручную изменить командную строку на значение по умолчанию (текущий диск и путь, за которым следует знак «больше чем»), введите:
prompt
1 prompt
2 prompt
prompt payment — немедленный платеж; своевременная уплата
3 prompt
4 prompt
5 prompt
He was prompt to offer his help. — Он сейчас же предложил свою помощь
6 prompt
оплаченный или доставленный немедленно;
for prompt cash за наличный расчет hyphen
вчт. приглашение в форме дефиса prompt безотлагательный
быстро или немедленно сделанный;
prompt assistance немедленная помощь
быстро или немедленно сделанный
оплаченный или доставленный немедленно;
for prompt cash за наличный расчет
оплаченный или доставленный немедленно
побуждать;
толкать;
внушать;
вызывать (мысль и т. п.)
проворный, быстрый;
исполнительный
быстро или немедленно сделанный;
prompt assistance немедленная помощь
side левая (от актера) сторона сцены
side амер. правая (от актера) сторона сцены underline character
вчт. приглашение в форме черточки visual
7 prompt
8 prompt
9 prompt
10 prompt
11 prompt
запрашивать данные у пользователя
—
[Е.С.Алексеев, А.А.Мячев. Англо-русский толковый словарь по системотехнике ЭВМ. Москва 1993]
Тематики
Тематики
Синонимы
приглашение
подсказка на экране
(1) Сообщение от компьютерной программы, которое просит вас ввести данные или выполнить какие-либо другие действия.
(2) Слово (или слова), использующееся системой в качестве подсказки для пользователя. В таких сообщениях обычно содержится предложение ввести некоторую информацию в соседнем поле. См. также: command line (командная строка).
[ http://www.morepc.ru/dict/]
Тематики
Синонимы
экстренное тревожное сообщение
—
[Л.Г.Суменко. Англо-русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.]
Тематики
Параллельные тексты EN-RU
Monitoring signals prompted by a hardware fault in the unit are always entered in the monitoring signal memory.
[Schneider Electric]
Сигналы функции самоконтроля, являющиеся следствием неисправности аппаратной части устройства, всегда записываются в память сигналов функции самоконтроля.
[Перевод Интент]
12 prompt
for prompt cash за нали́чный расчёт
13 prompt
14 prompt
She must be called prompt at seven o’clock. — Её нужно вызвать ровно в семь часов.
A mysterious instinct prompted her. — Её действиями руководил загадочный инстинкт.
He knew well what prompted these scornful comments on the topic. — Он знал, что вызвало такие насмешливые комментарии.
15 prompt
16 prompt
17 prompt
path prompt — подсказка путевого имени; подсказка пути доступа
18 prompt
19 prompt
20 prompt
См. также в других словарях:
prompt — prompt, prompte [ prɔ̃(pt), prɔ̃(p)t ] adj. • 1540; « prêt, disposé à » 1205; lat. promptus I ♦ Qui agit ou se produit tôt. 1 ♦ Qui agit, fait (qqch.) sans tarder. PROMPT À [ prɔ̃a ]. « Il était violent, généreux, prompt à l injure, prompt aux… … Encyclopédie Universelle
prompt — prompt, ompte (pron, pron t ; au masculin, le t se lie : pron t à. ) adj. 1° Qui ne tarde pas, soudain. • Leur abord fut bien prompt, leur fuite encor plus prompte, CORN. Cid, IV, 1. • Par un prompt désespoir souvent on se marie, Qu on s… … Dictionnaire de la Langue Française d’Émile Littré
prompt — PROMPT, Ă, prompţi, te, adj. (Despre oameni) Care acţionează repede şi la timp. ♦ (Despre fapte, acţiuni etc.) Care se produce repede, fără întârziere. – Din fr. prompt, lat. promptus. Trimis de oprocopiuc, 09.05.2006. Sursa: DEX 98 Prompt ≠… … Dicționar Român
Prompt — (pr[o^]mt; 215), a. [Compar.
prompt — PROMPT, [promp]te. ad. Soudain, qui ne tarde pas long temps. Il est opposé à lent. Un prompt retour. je vous souhaite un heureux voyage & un prompt retour. rendre une prompte réponse. avoir la repartie prompte. On dit, Avoir l esprit prompt,… … Dictionnaire de l’Académie française
prompt´ly — prompt «prompt», adjective, verb, noun. –adj. 1. ready and willing; on time; quick: »Be prompt to obey. But he learns to tell time much earlier than he learns to be prompt (Sidonie M. Gruenberg). SYNONYM(S): punctual. See syn. under ready. (Cf. ↑ … Useful english dictionary
prompt — Prompt, Prest et appareillé, Promptus. Prompt rhetoricien, Extemporalis rhetor. Un courage prompt et disposé à la guerre, Animus alacer ad bellum suscipiendum. Estre plus prompt, ou prest à regarder à son danger, Promptiorem esse ad sua pericula … Thresor de la langue françoyse
Prompt — Prompt, n. (Com.) A limit of time given for payment of an account for produce purchased, this limit varying with different goods. See
prompt — prompt; prompt·er; prompt·ly; prompt·ness; … English syllables
Взаимодействие: alert, prompt, confirm
alert
С этой функцией мы уже знакомы. Она показывает сообщение и ждёт, пока пользователь нажмёт кнопку «ОК».
Это небольшое окно с сообщением называется модальным окном. Понятие модальное означает, что пользователь не может взаимодействовать с интерфейсом остальной части страницы, нажимать на другие кнопки и т.д. до тех пор, пока взаимодействует с окном. В данном случае – пока не будет нажата кнопка «OK».
prompt
Функция prompt принимает два аргумента:
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена.
title Текст для отображения в окне. default Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.
Квадратные скобки вокруг default в описанном выше синтаксисе означают, что параметр факультативный, необязательный.
Второй параметр является необязательным, но если не указать его, то Internet Explorer вставит строку «undefined» в поле для ввода.
Запустите код в Internet Explorer и посмотрите на результат:
Чтобы prompt хорошо выглядел в IE, рекомендуется всегда указывать второй параметр:
confirm
Функция confirm отображает модальное окно с текстом вопроса question и двумя кнопками: OK и Отмена.
Итого
Мы рассмотрели 3 функции браузера для взаимодействия с пользователем:
Все эти методы являются модальными: останавливают выполнение скриптов и не позволяют пользователю взаимодействовать с остальной частью страницы до тех пор, пока окно не будет закрыто.
На все указанные методы распространяются два ограничения:
Такова цена простоты. Есть другие способы показать более приятные глазу окна с богатой функциональностью для взаимодействия с пользователем, но если «навороты» не имеют значения, то данные методы работают отлично.