Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Второй шаг: добавление структуры и поведения





Итак, вы заполнили показанную выше форму, и щелкнули на кнопке отправки Submit - почему же ничего не произошло, и почему она выглядит так неинтересно и размещена в одной строке? Ответ состоит в том, что мы еще ее не структурировали, или не определили место, где будут собираться данные отправленной формы.

Давайте изменим немного форму:

<form id="contact-form" action="script.php" method="post"> <input type="hidden" name="redirect" value="http://www.opera.com" /> <ul> <li> <label for="name">Name:</label> <input type="text" name="name" id="name" value="" /> </li> <li> <label for="email">Email:</label> <input type="text" name="email" id="email" value="" /> </li> <li> <label for="comments">Comments:</label> <textarea name="comments" id="comments" cols="25" rows="3"></textarea> </li> <li> <input type="submit" value="submit" /> <input type="reset" value="reset" /> </li> </ul></form>

Эта форма при представлении в браузере будет выглядеть, как показано на рисунке 20.2:


Рис. 20.2. Второй пример формы - выглядит лучше, но еще не совсем хорошо

Здесь сделаны небольшие добавления к базовой, простой форме. Давайте рассмотрим эти изменения:

· В теге <form> имеется несколько новых атрибутов. Был добавлен атрибут id, чтобы не только семантически назвать эту форму, но также чтобы предоставить уникальный идентификатор ID для идентификации формы, чтобы ее было легче оформить стилистически с помощью CSS или, если потребуется, выполнить манипуляции с помощью JavaScript. Можно иметь только один уникальный id на странице, в этом случае мы получаем так называемую contact-form.

· После нажатия кнопки Submit в первой форме ничего не происходит, это связано с тем, что отсутствует атрибут action илиmethod. Атрибут method определяет, как данные посылаются сценарию, который будет их обрабатывать. Двумя наиболее распространенными методами являются "GET" и "POST". Метод "GET" посылает данные в URL браузера. Если нет специальной причины для использования "GET", вероятно, лучше не использовать его, если требуется послать секретную информацию, так как кто угодно сможет увидеть информацию, пересылаемую через URL. Метод "POST" посылает данные с помощью сценария, который поддерживает форму, либо в сообщении e-mail, которое посылается администратору сайта, либо в базу данных для хранения и последующего использования, а не в URL, как метод "GET". Метод "POST" является более защищенным и обычно лучшим вариантом (http://www.w3.org/2001/tag/doc/whenToUseGet.html).

Если вы озабочены безопасностью данных в форме, например, если вы посылаете номер кредитной карты на сайт магазина, то нужно использовать протокол https с помощью уровня защищенных сокетов (SSL). По сути это означает, что данные будут посылаться через протокол https, а не через протокол http. Посмотрите на URL, когда в следующий раз будете совершать покупку на сайте магазина, или при использовании онлайнового банка — вы, вероятно, увидите в панели адреса https://, а не http://. Различие состоит в том, что соединение https немного медленнее, чем http, но данные шифруются, поэтому при передаче данные будут недоступны злоумышленнику. При необходимости выясните у провайдера Web-хостинга, как они могут обеспечить услуги https и SSL.

· Атрибут action определяет, какой файл сценария данных формы должен быть послан для обработки. Многие Web-хосты будут иметь базовый сценарий отправки сообщения e-mail, или другие сценарии формы, доступные для использования (см. дополнительную информацию в документации хоста), которые они модифицируют для своих серверов. С другой стороны, можно использовать серверный сценарий, который создан для поддержки формы. Чаще всего используют такие языки программирования как PHP, Perl или Ruby для создания сценария, который будет обрабатывать форму — можно было бы, например, послать сообщение e-mail, содержащее информацию формы, или ввести информацию формы в базу данных для хранения и последующего использования.

Создание серверных сценариев находится за рамками данного курса — свяжитесь со своим поставщиком хостинга, чтобы выяснить, что они могут предложить, или обратитесь за помощью к хорошему программисту.

Вот несколько ресурсов, которые могут помочь, если вы захотите исследовать вопрос создания серверных сценариев:

o Perl: http://www.perl.com/

o PHP: http://www.php.net

o Документация PHP по формам: http://uk3.php.net/manual/en/tutorial.forms.php

o Python: http://python.org/

o Ruby: http://www.ruby-lang.org

o Sendmail: http://www.sendmail.org/

o ASP.NET: http://www.asp.net/

· Вторая строка, которая была добавлена в форму второго шага, является скрытым ("hidden") полем ввода — это перенаправление. Что это такое?

С целью разделения структуры разметки, представления и поведения идеальным решением является использование сценария, который будет заставлять форму также перенаправлять пользователя после отправки формы. Вы не хотели бы, чтобы пользователи оставались сидеть перед страницей с формой, размышляя о том, что делать дальше, после того, как они отправили форму; я уверена, что вы согласитесь с тем, что для пользователя значительно лучше быть перенаправленным на страницу, которая содержит ссылки, показывающие "что делать дальше" после успешной отправки формы. Эта строка в частности определяет, что после отправки этой формы пользователь будет перенаправлен на домашнюю страницу компании Opera.

· Чтобы улучшить вид формы, все элементы формы были помещены в неупорядоченный список, чтобы можно было использовать разметку для их выравнивания и использовать CSS для улучшения общего вида.

Некоторые люди считают, что для разметки формы нужно использовать не неупорядоченный список, а список определений. Другие считают, что список вообще не должен использоваться, а нужно использовать CSS для стилевого оформления тегов <label> и<input>. Читатель может самостоятельно исследовать эти дискуссии и прийти к своему собственному мнению, что будет более семантически правильно. Для данного простого упражнения будет использоваться неупорядоченный список.

· Последнее, но не менее важное на втором шаге, элементы формы были помечены. Как в терминах смысла, так и доступности формы для широкого множества поддерживающих Интернет устройств, лучше задать для всех элементов формы метки — проверьте контент помеченных элементов — эти метки связаны с их соответствующими элементами формы, предоставляя id элементов input иtextarea, которые имеют такое же значение для атрибутов, как и метки. Это очень удобно, так как не только создает визуальный индикатор назначения каждого поля формы на экране, но также делает поля формы более семантически значимыми. Например, пользователь с недостатком зрения, использующий эту страницу с помощью считывателя экрана, может теперь понять, какому элементу формы соответствует какая метка. Эти id можно использовать также для стилевого оформления отдельных полей формы с помощью CSS.

Вторая форма выводится немного лучше, но пока еще достаточно коряво. Надо внести еще несколько дополнений, прежде чем применить некоторое стилевое оформление.







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.