Для чего обычно используется <input type = "image" />? - PullRequest
0 голосов
/ 27 октября 2009

Я нажал на нее, и форма была отправлена ​​вместе со строкой запроса, добавленной как x=1&y=2 к URL-адресу, на который нацелено действие формы.

Почему?

Ответы [ 5 ]

4 голосов
/ 27 октября 2009

Значения x и y представляют собой координаты указателя мыши относительно элемента при нажатии.

Из спецификации HTML 4.02 :

Когда указательное устройство используется для щелчка по изображению, форма отправляется и координаты щелчка передаются на сервер. Значение x измеряется в пикселях слева от изображения, а значение y - в пикселях сверху изображения. Представленные данные включают name.x = x-value и name.y = y-value, где «name» - это значение атрибута name, а x-value и y-value - значения координат x и y соответственно.

2 голосов
/ 27 октября 2009

IMAGE - это значение атрибута TYPE для элемента INPUT для FORM. Он указывает изображение, по которому можно щелкнуть, чтобы передать информацию в сценарий обработки. В реализации этот ТИП формы действует так же, как поле ВВОД ТИПА = ОТПРАВИТЬ, но в отличие от поля ОТПРАВИТЬ, координаты изображения, которые были активированы, отправляются обратно на сервер в дополнение к остальным данным формы.

из eskimo.com

2 голосов
/ 27 октября 2009

Он ведет себя как мини-карта изображений. Это по замыслу.

1 голос
/ 27 октября 2009

IE и Firefox будут создавать разные переменные при отправке из кнопки отправки изображения. Мой совет - не полагаться на то, что кто-либо из них присутствует при обработке вашей формы. Если вам необходимо (чтобы определить, какая из нескольких кнопок была нажата), вам нужно проверить наличие нескольких переменных.

Я дам вам три предположения, какой браузер вызывает проблему, а первые два не учитываются. Если у вас есть кнопка с изображением

<input type="image" name="restore" value="Restore" src="...">

когда пользователь щелкает, Mozilla возвращает значения

restore = Restore

restore_x = количество пикселей сверху изображения

restore_y = количество пикселей от левого края изображения

IE, однако, не вернет ключ восстановления = значение / значение шаблона восстановления. Таким образом, вы можете быть пойманы, если вы разрабатываете в одном браузере, а затем тестируете в IE, потому что

isset($_POST['restore'])

всегда будет возвращать false в IE, но будет работать, как и ожидалось, в Mozilla (и, возможно, в Opera, но я не знаю, как это происходит).

  • Из сообщения на форуме webmasterworld.com 2004 года я только что погуглил
0 голосов
/ 27 октября 2009

Это координаты, которые вы щелкнули по изображению, свойство элемента управления вводом типа «изображение». Вы можете игнорировать их, если они вам не нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...