Понедельник, 30.06.2025, 21:27

Элементы форм: Кнопка с изображением

Кнопки с изображениями аналогичны действию кнопки Submit, но представляют собой рисунок. Это расширяет возможности дизайнерских изысков по оформлению формы. Когда пользователь нажимает на рисунок, данные формы отправляются на сервер и обрабатываются программой, заданной параметром action тега FORM.

Изображение в форме создается следующим образом.

<input type=image параметры>

Параметры поля перечислены в таблице.

ПараметрОписание
name=...

Имя поля. Предназначено для обработчика формы, чтобы он мог идентифицировать это поле.

src=...URL картинки.
align=...Выравнивание поля. Возможные значения: top, middle, bottom, right, left, texttop, baseline, absmiddle, absbottom.
width=...Ширина изображения.
height=...Высота изображения.
vspace=...Вертикальные отступы вокруг изображения сверху и снизу в пикселах.
hspace=...Горизонтальные отступы вокруг изображения слева и справа в пикселах.
border=...Определяет толщину рамки в пикселах вокруг изображения.

Пример. Использование кнопок с изображением

<html>
<head>
<body>

<form action="/cgi-bin/handler.cgi">
<table align=center>
<tr><td colspan=2>Введите ваше имя:</td></tr>
<tr>
<td><input type=text width=25></td>
<td><input type=image src=/images/imgbutton.gif width=91 height=25 border=0></td>
</tr>
</table> 
</form>

</body>
</html>

В результате получим следующее.

Введите ваше имя:
Изображение

Элементы форм: Отправка файла

Создает поле для ввода имени файла, который пересылается на сервер. Поле создается следующим образом.

<form enctype="multipart/form-data" method="POST">
<input type=file параметры>
</form>

Параметры формы enctype="multipart/form-data" нужен для корректной передачи файла. Если его не указать, будет передан лишь путь к файлу. Дополнительные параметры те же, что и для текстового поля.

ПараметрОписание
name=...

Имя поля. Предназначено для того, чтобы обработчик формы мог идентифицировать это поле.

maxlength=...Максимальное количество символов разрешенных в тексте.
size=...Ширина поля.

 

Пример. Создание поля для отправки файла

<html>
<head>
<body>

<form action="/cgi-bin/handler.cgi" enctype="multipart/form-data" method="POST">
<b>Пожалуйста укажите рисунок, который следует добавить:</b><br>
<input type=file size=30><br>
<input type=submit value="Отправить"> 
</form>

</body>
</html>

В результате получим следующее.

Пожалуйста укажите рисунок, который следует добавить:

Создание фреймов

Для создания фрейма используется тег FRAMESET, который заменяет тег BODY в документе и используется для разделения экрана на области. Внутри данного тега находятся теги FRAME, которые указывают на HTML-документ, предназначенный для загрузки в область.

MENUCONTENT
Рис. 1. Пример разделения окна браузера на фреймы

Для размещения фреймов, как показано на рис. 1 код будет следующий.

Пример 1. Создание двух фреймов

<frameset cols="200,*">
 <frame src=menu.html name=MENU>
 <frame src=content.html name=CONTENT>
</frameset>

Окно браузера разбивается на две колонки, левая занимает 200 пикселов, а правая - оставшееся пространство, заданное символом звездочки. Ширину или высоту фреймов можно также задавать в процентном отношении, наподобие таблиц.

В теге FRAME задается имя HTML-файла, загружаемого в указанную область, с помощью параметра src. В левое окно будет загружен файл, названный menu.html, а в правое - content.html. Каждому фрейму желательно задать его уникальное имя, чтобы документы можно было загружать в указанное окно.

TOP
MENUCONTENT
Рис. 2. Пример разделения окна браузера на фреймы

Если нужна более сложная структура фреймов, например, как показано на рис. 2, теги FRAMESET можно вкладывать один в другой.

Пример 2. Создание трех фреймов

<frameset rows="10%,90%">
 <frame src="top.html" name="TOP">
 <frameset cols="200,*">
  <frame src="menu.html" name="MENU">
  <frame src="content.html" name="CONTENT">
 </frameset>
</frameset>

Первый тег FRAMESET разбивает окно браузера на две строки шириной 10 и 90 процентов. А следующий, вложенный - создает две колонки, как и в примере 1.


Ссылки внутри фреймов

В обычном HTML-документе, при переходе по ссылке, в окне браузера текущий документ заменяется новым. При использовании фреймов схема загрузки документов отличается от стандартной. Основное отличие - возможность загружать документ в выбранный фрейм из другого. Для этой цели используется параметр target тега А. В качестве значения используется имя фрейма, в который будет загружаться документ, указанный параметром name.

Пример 1. Ссылка на другой фрейм

Файл index.html
<frameset cols=200,*>
<frame src=menu.html name=MENU noresize>
<frame src=content.html name=CONTENT>
</frameset>

Файл menu.html
<a href=text.html target=CONTENT>Содержание</a>

В приведенном примере фрейму присваивается имя content. Чтобы документ загружался в указанный фрейм, используется параметр target=content.

Имя фрейма должно начинаться на цифру или латинскую букву. В качестве зарезервированных имен используются следующие:

target=_blank - загружает документ в новое окно;
target=_self - загружает документ в текущий фрейм;
target=_parent - загружает документ во фрейм, занимаемый родителем, если фрейма-родителя нет параметр действует также, как _top; 
target=_top - отменяет все фреймы и загружает документ в полное окно браузера.


Чтобы одновременно обновить сразу два фрейма и загрузить в них разные документы, придется воспользоваться JavaScsript.

Пример 2. Одновременная загрузка документов в два фрейма

Файл index.html
<frameset cols=200,*>
<frame src=menu.html name=MENU noresize>
<frame src=content.html name=CONTENT>
</frameset>

Файл menu.html
<a href=menu2.html onClick="parent.frames['CONTENT'].document.location='content2.html'">Нажми на меня, нажми</a>
или
onClick="parent.frames.CONTENT.document.location='content2.html'">Нажми на меня, нажми</a>

Ссылка используется как обычная, но в качестве параметра добавляется событие onClick отслеживающее нажатие на ссылку. Обратите внимание, что имя фрейма следует писать также, как оно указано в параметре name (в данном случае заглавными символами). JavaScript чувствителен к регистру и мнительно относится к любому неправильному написанию.

Создать бесплатный сайт с uCoz