Для чего <input type="“image”" /> обычно используется?

StackOverflow https://stackoverflow.com/questions/1630871

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Почему?

Это было полезно?

Решение

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

Другие советы

Тот Самый x и y значения - это координаты указателя мыши относительно элемента при щелчке.

Из самого Спецификация HTML 4.02:

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

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

От eskimo.com

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

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

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

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

восстановить = Restore Восстанавливать

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

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

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

isset($_POST['restore'])

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

  • Из сообщения на форуме 2004 webmasterworld.com , которое я только что погуглил

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top