|
Передача и обработка данныхМало где вы сможете встретить рассматриваемые здесь вопросы. Почему-то большинство создателей учебников по JavaScript и DHTML старательно умалчивают данный аспект. Меж тем тема интересная, не сложная и весьма полезная.Как передать данные в *.html-файл.Очень просто - через его адрес (URL). После адреса ставите знак вопроса и после него задаете параметр, который хотите сообщить файлу. Если нужно передать несколько параметров, разделяете их амперсандом. Например, так"file.html?1234" или "file.html?12&42¶m&78456" Можно передавать данные из формы, используя метод get. В этом случае
вызов файла будет выглядеть как Как получить переданные данныеКак вы догадываетесь, обрабатывается все с использованием JavaScript.var ex_url=location.search.substring(1); То бишь мы записываем в переменную ex_url все то, что находится после знака вопроса. Если вы передаете один параметр, то все - обрабатывайте ex_url (кстати, ее тип - строка) и в зависимости от ее значения что-либо делайте. Если вы передaвали несколько параметров, надо их разделить. var param=ex_url.split('&'); Теперь мы получили массив param, содержащий переданные значения. Если вы передавали данные через форму, то надо еще избавиться от знаков равенства. var values = new Array(); for(i=0; i<param.length;i++) { var b = param[i].split('='); values[b[0]] = unescape(b[1]); } Теперь все данные занесены в хеш. Если строка запроса была, например, file.html?name=alex&age=28&left=right" то получили массив values[name]="alex"; values[age]="28"; values[left]="right"; Пример использованияВ качестве примера рассмотрим такую ситуацию. Есть набор фотографий и, помимо обычной галереи с предпросмотром, нужно организовать слайд-шоу. Можно, конечно, изменять свойство src картинок, но Netscape, например, не позволяет при этом изменять размеры и все картинки будут втиснуты в рамки самой первой, следовательно, искаженными. К тому же, желательно, чтобы при просмотре новой фотографии обновлялись и баннеры, а вставлять для каждого свой скрипт неохота. Поэтому сделаем следующее:Для простоты предположим, что все фотографии сохранены в файлах 1.jpg, 2.jpg, 3.jpg и так далее. Делаем страничку, а в том месте, где должна быть фотография, вставляем следующий скрипт. <table> Скорее всего, при проверкe работоспособности описанного выше метода в домашних условиях, у вас возникнут проблемы. Дело в том, что для приема данных нужен сервер. Windows без наворотов такие запросы не понимает - выдает радостное сообщение. Если у вас не стоит Apache или Windows NT, и вы не хотите с ними возиться, установите Small HTTP Server. Эта манюсенькая программа (размером менее, чем сумма всех баннеров на данной странице) позволит вам тестировать в домашних условиях CGI, SSI, PHP и т.д. Найти ее можно здесь |
|
Копирование и распространение данных материалов в интернете разрешается только в случае указания автора статьи, ссылки на его сайт (если есть) и ссылки на данный сайт "Школа начинающего Юзера" (http://mysite.hut.ru/), как на источник получения информации. Если в какой-либо статье автор не указан, им является Alexey Godovnik. Условия копирования и распространения материалов традиционными (бумага, cd-rom etc) и другими (мало ли) средствами решается в индивидуальном порядке с авторами статей. |
|
|