Приветствую Вас, Гость

Передача значений Web-серверу с помощью скрытых полей

Скрытое (hidden) поле представляет собой элемент формы, который, как и предполагает его название, невидим для человека, заполняющего форму. Скрытые поля можно использовать для передачи Web-серверу дополнительных пар имя/значение помимо данных, введенных посетителем сайта. Например, следующий HTML-код приводит к тому, что Web-браузер визуализирует форму, показанную на рис. 3.20.

<form name="ExampleForm" action="http://NVBizNet2.com/_scripts/_pl/FrmScrpt.CGI" method="POST"
enctype="application/x-www-form-urlencoded">
Имя пользователя:
<input type="text" name="Username" id="UN" size="20" /><br/>
Пароль:
<input type="password" name="Password" id="PW" size="20" /><br/>
<p><input type="button" value="Отправить" onclick="validateAndSubmit(ExampleForm)"/>
<input type="button" value="Сбросить" onclick="ResetForm(ExampleForm)" /></p>
<input type="hidden" name="LoginAttempts" value="0"/>
<input type="hidden" name="LoginDateTime"/>
<input type="hidden" name="ExampleFor" value="HTML & Web Design Tips & Techniques"/>
</form>

Рис. 3.20. Форма ввода имени пользователя и пароля

Обратите внимание, что в приведенном примере атрибуты type трех полей ввода в конце описания формы содержат значения "hidden" и не отображаются на экране (как показано на рисунке). Несмотря на то что Web-браузер не визуализирует скрытые поля, он передает серверу пары имя/значение для всех полей, как видимых, так и скрытых (см. рис. 3.21).

ПРАКТИКУМ

Значение скрытого поля можно задать, соответствующим образом установив атрибут value в дескрипторе <input>, как показано на примере первого и третьего скрытых полей в следующем коде:

<input type="hidden" name="LoginAttempts" value="0"/>
<input type="hidden" name="ExampleFor" value="HTML & Web Design Tips & Techniques"/>

Рис. 3.21. Результаты заполнения формы, переданные Web-серверу после ввода "Konrad" в поле Username и "King" в поле Password

Независимо от того, были присвоены скрытым полям начальные значения или нет, скрытым полям можно присваивать значения в JavaScript-сценариях. Например, функция validateAndSubmit(), выполняемая в приведенном выше примере при нажатии кнопки Submit, включает следующие строки:

ExampleForm.LoginAttempts.value++;
ExampleForm. LoginDateTime.value = new Date() ;

Первая строка увеличивает на 1 значение скрытого поля LoginAttempts, a вторая записывает в скрытое поле LoginDateTime текущее значение даты и времени.