aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/window/prompt/index.html
blob: b30ebcda540047e2dbe2ef7ae9544e8f6a57e3ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
title: Window.prompt()
slug: Web/API/Window/prompt
translation_of: Web/API/Window/prompt
---
<div>{{ApiRef("Window")}}</div>

<p>Метод <code>Window.prompt()</code> отображает диалоговое окно с необязательным запросом на ввод текста.</p>

<h2 id="Syntax" name="Syntax">Синтаксис</h2>

<pre class="syntaxbox"><em>result</em> = window.prompt(<em>message</em>, <em>default</em>);
</pre>

<ul>
 <li><code>result</code> — это строка, содержащая текст, поступивший от пользователя или null.</li>
 <li><code>message</code> — это строка текста, которая показывается пользователю. Этот параметр является необязательным и может быть пропущен если в окне prompt ничего не показывать.</li>
 <li><code>default</code> — это строка, содержащая значение по умолчанию, отображаемое в поле ввода текста. Это необязательный параметр. Обратите внимание, что в Internet Explorer 7 и 8, если вы не укажете этот параметр, строка "underfined" будет значением по умолчанию.</li>
</ul>

<h2 id="Example" name="Example">Пример</h2>

<pre class="brush: js">var sign = prompt("What's your sign?");

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

// есть множество способов использовать prompt
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"</pre>

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

<p>Вышеописанный prompt будет выглядеть следующим образом (в Chrome на OS X):</p>

<p><a href="https://mdn.mozillademos.org/files/11303/prompt.png"><img alt="prompt() dialog in Chrome on OS X" src="https://mdn.mozillademos.org/files/11303/prompt.png" style="height: 298px; width: 535px;"></a></p>

<h2 id="Notes" name="Notes">Примечания</h2>

<p>prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введеный пользователем в текстовое поле.</p>

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

<p>Пожалуйста, обратите внимание, что результатом является строка. Это значит, что вы должны определять значение заданное пользователем. Например, если ответ должен быть Number, вы должны привести значение к Number: <span style="background-color: #f6f6f2; font-family: courier new,andale mono,monospace; font-size: 12px; line-height: normal;">var aNumber = Number(window.prompt("Type a number", "")); </span></p>

<p>Пользователи <a href="/Mozilla/Firefox" title="Firefox">Mozilla Firefox</a> (например, расширений Firefox) должны использовать методы {{interface("nsIPromptService")}}.</p>

<p>Начиная с Chrome {{CompatChrome(46.0)}}, этот метод блокируется внутри объекта {{htmlelement("iframe")}}, пока атрибут sandbox не будет установлен в значение <code>allow-modal</code>.</p>

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

<h2 id="Specification" name="Specification">Спецификация</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Спецификация</th>
   <th scope="col">Статус</th>
   <th scope="col">Комментарий</th>
  </tr>
  <tr>
   <td>{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#dom-prompt', 'prompt()')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="See_also" name="See_also">Смотрите также </h2>

<ul>
 <li>{{domxref("window.alert", "alert")}}</li>
 <li>{{domxref("window.confirm", "confirm")}}</li>
</ul>