MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Метод Window.prompt() отображает диалоговое окно с запросом на ввод текста.

Синтаксис

result = window.prompt(message, default);
  • result — это строка, содержащая текст, поступивший от пользователя или null.
  • message — это строка текста, которая показывается пользователю. Этот параметр является необязательным и может быть пропущен если в окне запроса ничего не показывать.
  • default — это строка, содержащая значение по умолчанию, отображаемое в поле ввода текста. Это необязательный параметр. Обратите внимание, что в Internet Explorer 7 и 8, если Вы не укажете этот параметр, строка "underfined" будет значением по умолчанию.

Пример

var 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
var sign = window.prompt(); // открывается пустое окошко с запросом ввода текста
var sign = prompt();       //  открывается пустое окошко с запросом ввода текста
var sign = window.prompt('Are you feeling lucky'); // открывается окошко с текстом "Are you feeling lucky"
var sign = window.prompt('Are you feeling lucky', 'sure'); // открывается окошко с текстом "Are you feeling lucky" и значением по умолчанию "sure"

Когда пользователь нажимает кнопку OK, функция возвращает текст, введенный в поле. Если пользователь нажимает кнопку OK, без ввода какого-либо текста - возвращается пустая строка. Если пользователь нажимает кнопку Отмена, то функция возвращает null.

Оба запроса будут выглядеть следующим образом (в Chrome на OS X):

prompt() dialog in Chrome on OS X

Примечания

Запрос содержит однострочное текстовое поле, кнопку Отмена и кнопку OK, и возвращает текст введеный пользователем в текстовое поле (возможно пустое значение).

The following text is shared between this article, DOM:window.confirm and DOM:window.alertДиалоговые окна являются модальными; они блокируют доступ пользователя к остальному интерфейсу программы, пока диалоговое окно не закрыто. По этой причине Вы не должны злоупотреблять функциями, которые создают диологовое окно (или модальное окно).

Пожалуйста, обратите внимание, что результатом является строка. Это значит, что вы должны определять значение заданное пользователем. Например, если ответ должен быть числом, вы должны задать значение числа var aNumber = Number(window.prompt("Type a number", "")); 

Пользователи Mozilla Chrome (например, расширений  Firefox) должны использовать методы nsIPromptService.

Начиная с Chrome 46.0, этот метод блокируется внутри объекта <iframe>, пока атрибут sandbox не будет установлен в значение allow-modal.

В Safari, если пользователь нажимает на кнопку Отмена, функция возвращает пустую строку. Таким образом, этот браузер не различает отказ от ввода и пустую строку.

Эта функция не действует в современном UI/Metro версии Internet Explorer для Windows 8. Он не отображает запрос для пользователя и всегда возвращает undefined. Не понятно, баг ли это или ожидаемое поведение. Версия IE для ПК выполняет функцию корректно.

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

Specification Status Comment
HTML5 Web application
Определение 'prompt()' в этой спецификации.
Неизвестно Initial definition.

Смотрите также 

Метки документа и участники

 Внесли вклад в эту страницу: MaximAlexandrovich, YozhEzhi, yat-san, Aruseli
 Обновлялась последний раз: MaximAlexandrovich,