Spec-Zone.ru › Web APIs

Окно: метод prompt()

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает во многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

window.prompt() указывает браузеру отобразить диалоговое окно с необязательным сообщением, запрашивающим у пользователя ввод текста, и ожидать, пока пользователь либо отправит текст, либо отменит диалоговое окно.

В некоторых условиях — например, при переключении пользователем вкладок — браузер может не отобразить диалоговое окно или не дождаться отправки текста пользователем или отмены диалогового окна.

Синтаксис

prompt()
prompt(message)
prompt(message, defaultValue)

Параметры

message Необязательно

Строка текста, отображаемая пользователю. Можно опустить, если в окне запроса ничего не нужно отображать.

defaultValue Необязательно

Строка, содержащая значение по умолчанию, отображаемое в поле ввода текста.

Возвращаемое значение

Строка, содержащая текст, введённый пользователем, или null.

Примеры

let sign = prompt("What's your sign?");

if (sign.toLowerCase() === "scorpio") {
  alert("Wow! I'm a Scorpio too!");
}

// there are many ways to use the prompt feature
sign = window.prompt(); // open the blank prompt window
sign = prompt(); //  open the blank prompt window
sign = window.prompt("Are you feeling lucky"); // open the window with Text "Are you feeling lucky"
sign = window.prompt("Are you feeling lucky", "sure"); // open the window with Text "Are you feeling lucky" and default value "sure"

При нажатии пользователем кнопки «ОК» возвращается текст, введённый в поле ввода. Если пользователь нажимает «ОК», не вводя текст, возвращается пустая строка. Если пользователь нажимает кнопку «Отмена», эта функция возвращает null.

Вышеприведённый запрос отображается следующим образом (в Chrome на macOS):

prompt() dialog in Chrome on macOS

Примечания

Диалоговое окно запроса содержит текстовое поле с одной строкой, кнопку «Отмена» и кнопку «ОК» и возвращает (возможно, пустой) текст, введённый пользователем в это текстовое поле.

Обратите внимание, что результат — строка. Это означает, что иногда вам нужно преобразовать значение, полученное от пользователя. Например, если ожидается число, необходимо преобразовать значение в число.

const aNumber = Number(window.prompt("Type a number", ""));

Диалоговые окна являются модальными окнами; они предотвращают доступ пользователя к остальной части интерфейса программы до закрытия диалогового окна. По этой причине следует избегать чрезмерного использования функций, создающих диалоговые окна (или модальные окна).

В качестве альтернативы можно использовать элемент <dialog> для получения ввода от пользователя.

Спецификации

Спецификация
HTML
# dom-prompt-dev

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
prompt
1Начиная с Chrome 46, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.
12
1Firefox удаляет символы новой строки из ответа запроса; см. ошибку 1716229.
3Начиная с Opera 33, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.
1
18Начиная с Chrome Android 46, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.
4Firefox для Android удаляет символы новой строки из ответа запроса; см. ошибку 1716229.
10.1Начиная с Opera 33, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.
1
1.0Начиная с Samsung Internet 5.0, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.
4.4Начиная с WebView Android 46, этот метод заблокирован внутри <iframe> , если атрибут sandbox не имеет значения allow-modals.

См. также

  • <dialog> элемент
  • alert
  • confirm

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API