【问题标题】:What is <input type="image" /> typically used for?<input type="image" /> 通常用于什么?
【发布时间】:2009-10-27 13:40:37
【问题描述】:

我单击它并提交了表单,并在表单操作所针对的 url 中附加了一个查询字符串,例如 x=1&amp;y=2

为什么?

【问题讨论】:

    标签: html image input


    【解决方案1】:

    xy 值是单击时鼠标指针相对于元素的坐标。

    来自HTML 4.02 specification

    当使用定点设备点击图像时,提交表单并将点击坐标传递给服务器。 x 值以图像左侧的像素为单位,y 值以图像顶部的像素为单位。提交的数据包括name.x=x-value和name.y=y-value,其中“name”是name属性的值,x-value和y-value分别是x和y坐标值。

    【讨论】:

    • 因此,您可以使用这些信息做什么取决于您自己。一些大容量广告使用诸如生成交互热图之类的东西来查看哪些有效,哪些无效。或者,您可以让图像的不同部分使用您的服务器端代码触发不同的功能(左上角,优惠券所在的位置,折扣您的订单,其他任何地方是常规订单,或任何您想要的)
    【解决方案2】:

    它的行为就像一个迷你图像地图。这是设计使然。

    【讨论】:

    • 有没有办法禁用它。
    • 您最好使用按钮或 A-tag 并使用 CSS 背景图片
    【解决方案3】:

    IMAGE 是 FORM 的 INPUT 元素的 TYPE 属性值。它指定可以单击以将信息传递给处理脚本的图像。在实现中,这个表单 TYPE 的行为很像 INPUT TYPE=SUBMIT 字段,但与 SUBMIT 字段不同的是,除了表单数据的其余部分之外,被激活的图像的坐标被发送回服务器。

    来自eskimo.com

    【讨论】:

      【解决方案4】:

      从图像提交按钮提交时,IE 和 Firefox 都会创建不同的变量。我的建议是不要依赖它们中的任何一个出现在您的表单处理中。如果必须(以确定按下了多个按钮中的哪一个),则需要检查多个变量。

      我会给你三个猜测是哪个浏览器导致了问题,前两个不算。如果你有一个图片按钮

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

      当用户点击时,Mozilla 将返回值

      恢复 = 恢复

      restore_x = 图像顶部的像素数

      restore_y = 图像左边缘的像素数

      但是,

      IE不会返回 restore=Restore Template 键/值。因此,如果您在一个浏览器中开发然后在 IE 中进行测试,您可能会被抓住,因为

      isset($_POST['restore'])
      

      在 IE 中总是返回 false,但在 Mozilla(可能还有 Opera,但我不知道)中会按预期工作。

      • 来自 2004 年 webmasterworld.com 论坛帖子,我刚刚在 Google 上搜索过

      【讨论】:

        【解决方案5】:

        这些是您在图像上单击的坐标,是“图像”类型输入控件的属性。如果你不需要它们,你可以忽略它们。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-05-27
          • 2015-04-12
          • 1970-01-01
          • 2017-05-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多