Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
The Window.prompt()
отображает диалоговое окно с сообщением с запросом на ввод текста.
Синтаксис
result = window.prompt(message, default);
result
это строка содержащая текст поступивший от пользователя или не существующий .message
это строка текста, которая показывается пользователю. Этот параметр является необязательным и может быть пропущен если в окне запроса ничего не показывать.default
это строка, содержащая значение по умолчанию, отображаемое в поле ввода текста. Это необязательный параметр. Обратите внимание, что в Internet Explorer 7 и 8, если Вы не укажете этот параметр, строка "underfined" будет значением по умолчанию.
Example
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(); // open the blank prompt window var sign = prompt(); // open the blank prompt window var sign = window.prompt('Are you feeling lucky'); // open the window with Text "Are you feeling lucky" var sign = window.prompt('Are you feeling lucky', 'sure'); // open the window with Text "Are you feeling lucky" and default value "sure"
Когда пользователь нажимает кнопку OK, текст, введенный в поле ввода возвращается. Если пользователь нажимает кнопку OK без ввода какого-либо текста, возвращается пустая строка. Если пользователь нажимает кнопку Отмена, эта функция возвращается null
.
Оба запроса будут выглядить следующим образом (в Chrome на 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>
если это атрибут песочницы имеет значение allow-modal
.
В Safari, если пользователь нажимает на Отмена, функция возвращается пустой строкой. Поэтому он не различает отказа от ввода пустой строки от пользователя
Эта фуекция не действует в современном UI/Metro версии Internet Explorer для Windows 8. Он не отображает запрос для пользователя и всегда возвращает undefined
. Не понятно, баг ли это или ожидаемое поведение. Версия IE для ПК не реализует эту функцию.
Спецификация
Specification | Status | Comment |
---|---|---|
HTML5 Web application Определение 'prompt()' в этой спецификации. |
Неизвестно | Initial definition. |