HTML, XHTML и CSS на сто процентов.
11.1. Работа с информацией. Любая программа или сценарий работают с информацией, то есть получают некие данные, обрабатывают их согласно своему алгоритму, а затем обычно возвращают результат в виде изображения на экране или бумаге, звука, файла, сигнала другой программе и т. д. Серверные программы получают данные либо от пользователя, например через формы, либо из баз данных. При этом в качестве обрабатываемой информации могут выступать абсолютно любые данные: опросы, регистрационные данные, фотографии, почта, статистические данные. Клиентские сценарии часто выступают буфером между пользователем и серверной программой, осуществляя предварительную обработку и верификацию данных. Следовательно, они работают с теми же данными. Клиентские сценарии могут получать информацию различными способами, которые описаны ниже. • Информация может быть заложена в сценарий разработчиком. Обычно это некие начальные значения. • Информация может передаваться от пользователя с помощью форм. • Передача через URL. • Получение информации обработкой событий, например после перемещения указателя мыши, щелчка кнопкой мыши, нажатия клавиш. • Получение данных с других сайтов или передача серверной программой. Для знакомства с вводом/выводом информации в JavaScript понадобятся три метода: alert(), prompt() и confirm(). Эти методы генерируют различные окна сообщений. Примечание. В действительности методы alert(), prompt() и confirm() являются методами объекта Window в браузере. Метод alert(). Метод alert() отображает окно предупреждения с соответствующим сообщением. После прочтения сообщения пользователю необходимо нажать кнопку OK, чтобы закрыть окно. Аргументом данного метода является строка. Примечание. О типах данных в JavaScript, в том числе и о строках, будет рассказано далее в этой главе. В простейшем случае текст предупреждения, заключенный в кавычки, вводится внутри круглых скобок (листинг 11.1). Листинг 11.1. Работа с предупреждением. <html> <head> <titlе>Работа с предупреждением</titlе> </head> <script> Alert("Это мое предупреждение"); </script> <body> </body> </html> Окно предупреждения генерируется самим браузером, поэтому внешний вид окна в разных браузерах может различаться. На рис. 11.1, 11.2 и 11.3 представлен вид окна, сгенерированного в трех популярных браузерах с помощью описанного кода. HTML, XHTML и CSS на сто процентов. Рис. 11.1. Окно предупреждений в браузере Internet Explorer. HTML, XHTML и CSS на сто процентов. Рис. 11.2. Окно предупреждений в браузере Mozilla Firefox. HTML, XHTML и CSS на сто процентов. Рис. 11.3. Окно предупреждений в браузере Opera. Метод prompt(). Метод prompt() имеет противоположное предназначение. Он служит для получения данных от пользователя (листинг 11.2). При его вызове отображается окно приглашения с текстовым полем. Метод может содержать два аргумента. Оба этих аргумента должны быть строками. Первый аргумент – сообщение, которое отображается в окне. Второй аргумент – это текст по умолчанию, который должен появиться в соответствующем поле. Кроме того, этот метод, в свою очередь, возвращает значение, которое также является строкой, – это текст, который ввел пользователь. Листинг 11.2. Работа с запросом. <html> <head> <titlе>Работа с запросом</titlе> </head> <script> //Объявляем переменную. Var nameUser; //Введенное пользователем значение присваивается переменной nameUser. NameUser=prompt("Здравствуйте, как вас зовут?", "аноним"); //Используем метод alert() для вывода введенного имени. Alert("Рад вас видеть, "+ nameUser); </script> <body> </body> </html> После запуска страницы с вышеприведенным кодом появится запрос (рис. 11.4), вслед за которым отобразится предупреждение. HTML, XHTML и CSS на сто процентов. Рис. 11.4. Работа с запросом. В этом примере для демонстрации работы метода prompt() использована переменная, а в методе alert() в качестве аргумента выступает выражение. Данные понятия будут введены далее в этой главе. Примечание. В методе prompt() можно опустить второй аргумент, то есть указывать только одну строку. В этом случае различные браузеры по-разному реагируют: строка запроса может быть пустой, а может отображать ключевое слово undefined (не определено). Метод confirm(). Метод confirm() отображает окно подтверждения, которое сходно с окном предупреждения, генерируемым методом alert(), но содержит две кнопки: OK и Cancel. В листинге 11.3 демонстрируется создание окна подтверждения, но в этом сценарии не делается разницы между кнопками OK и Cancel. Нажатие любой из кнопок просто закроет окно (рис. 11.5). HTML, XHTML и CSS на сто процентов. Рис. 11.5. Работа с подтверждением. Листинг 11.3. Работа с подтверждением. <html> <head> <titlе>Работа с подтверждением</titlе> </head> <script> Confirm("Это мое подтверждение"); </script> <body> </body> </html> После прочтения данной главы вы научитесь использовать этот метод, чтобы сценарий по-разному реагировал на нажатие кнопок OK и Cancel.