Javascript.RU

prompt

Синтаксис

result = prompt(text[, value])

Аргументы

text
Текст сообщения
value
Строка, введенная в текстовое поле по умолчанию. Необязательный параметр.

Описание, примеры

Выводит сообщение в окне с текстовым полем и двумя кнопками: "ОК" и "ОТМЕНА".

Возвращает введенное значение или null, если посетитель нажал на кнопку "ОТМЕНА".

Как и в alert, окно - модальное, то есть посетитель не может делать ничего другого, пока не выберет одну из кнопок.

var years=prompt('Сколько вам лет?',100)
alert('Вам '+years+' лет!')


Автор: Гость (не зарегистрирован), дата: 28 августа, 2009 - 08:47
#permalink

а как можно задать координаты окна prompt? В Firefox оно в центре окна,а в IE - в левом верхнем углу. Нельзя его оттуда перетащить?


Автор: Вит (не зарегистрирован), дата: 1 ноября, 2009 - 23:39
#permalink

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


Автор: VaSSo (не зарегистрирован), дата: 29 января, 2010 - 21:21
#permalink

Я на одном сайте видел похожее окно с 2-мя полями
как это сделать неизвестно? @=


Автор: Romych, дата: 20 февраля, 2010 - 16:26
#permalink

объясните пожалуйста, как исправить размер модального окна в IE ?
с методом prompt
вот это окно в Опере

и оно же в IE


Автор: Данил Агеев (daxiz555) (не зарегистрирован), дата: 7 июня, 2010 - 15:54
#permalink

В том примере не доработка.
Скрипт расщитан на вывод alert(ом) данные введенные тогда...
но если пользователь оставит поле пустым он выведет "Вам null лет", нужно исправить:

var years=prompt('Сколько вам лет?','100');
if (years == '') {var years = '0';alert('Вам '+years+' лет!');}
else {alert('Вам '+years+' лет!');}

/// ... ///


Автор: SWS (не зарегистрирован), дата: 3 августа, 2010 - 10:08
#permalink

тогда уж либо

var years=prompt('Сколько вам лет?','100');
if (years == '') {var years = '0';}
alert('Вам '+years+' лет!');

либо

var years=prompt('Сколько вам лет?','100');
if (years == '') {alert('Вы не указали свой возраст!');}
else {alert('Вам '+years+' лет!');}

Автор: Loydi (не зарегистрирован), дата: 23 августа, 2010 - 22:18
#permalink


var years=prompt('Сколько вам лет?','100');
if (years == '') {var years = '0';}
alert('Вам '+years+' лет!');

Лучше:

var years=prompt('Сколько вам лет?','100');
years = years == '' ? 0 : years;
alert('Вам '+years+' лет!');

А вобще null и пустая строка - разные вещи, а значит здесь как проверку нужно использовать:

years = years == null ? 0 : years;

А вообще, лучше всунуть в цикл и проверить что вводится именно число:

do {
  var years=prompt('Сколько вам лет?','100');
  years = parseInt(years, 10); // округляем => если не число, то NaN
} while (isNaN(years));
alert('Вам '+years+' лет!');


Ну и идеальный вариант - объёдинить проверку на null и на NaN

Автор: Loydi (не зарегистрирован), дата: 23 августа, 2010 - 22:55
#permalink

years = parseInt(years, 10); // округляем => если не число, то NaN
упс, глюкануло: parseInt - выделение числ. части, конечно.


Автор: Гость (не зарегистрирован), дата: 6 июля, 2011 - 19:48
#permalink

Как избавиться от самопроизвольного повторного выскакивания промптовского окна после получения результата?


Автор: Гость (не зарегистрирован), дата: 26 января, 2012 - 07:55
#permalink

Попроще, чтоб два раза не выскакивало, я сразу в окно поместил ответы, вот мой пример:

var imya = prompt ("Напишите свое имя здесь:"," ");
var gody = prompt ("Напишите, сколько вам лет здесь:"," ");
var nastroenie = prompt ("Напишите, какое у вас настроение здесь:"," ");
document.write("Здравствуй, " + imya + "! Тебе");
document.write(" " + gody + " лет(год),");
document.write(" и у тебя " + nastroenie + " настроение!");
document.write(" Всё верно, не так-ли?!");

Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
7 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

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

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние обсуждения на форуме
Forum
Последние комментарии