输入类型图像提交表单值?

Sat*_*000 38 html forms

我正在使用此代码尝试通过表单提交值,但它似乎没有提交任何内容......

我通常会使用复选框或单选按钮来选择多个选项,但我想使用图像来执行此操作.

这段代码错了吗?

<input id="test1" name="test1" type="image" src="images/f.jpg" value="myValue" alt="" />
Run Code Online (Sandbox Code Playgroud)

所以我想传递value ="myValue"中的值.

表单工作正常,这不是问题,我只是需要帮助输入部分不提交,因为我知道它的工作原理.

谢谢

Fra*_*ulo 54

输入类型="图像"仅将该图像定义为提交按钮,而不是作为可以将值传递给服务器的输入.

  • 好.我不认为浏览器关于图像输入中的值的行为是全面的.我会使用input ="hidden"来保存值,这样用户只会看到图像,并且您可以确定该值将被提交. (12认同)

小智 34

使用type ="image"是有问题的,因为传递值的能力因某些愚蠢的理由而被禁用.无论如何,虽然它不是可定制的,因此非常漂亮,你仍然可以使用你的图像,只要它们是type ="button"的一部分.

<button type="submit" name="someName" value="someValue"><img src="someImage.png" alt="SomeAlternateText"></button>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!^ _ ^

  • 如果你这样做我相信你需要添加一个border ="0"否则一些浏览器可能会添加一个丑陋的边框窗口 (4认同)

小智 7

我和你在同一个地方,最后我找到了一个简洁的答案:

<form action="xx/xx" method="POST">
  <input type="hidden" name="what you want" value="what you want">
  <input type="image" src="xx.xx">
</form>
Run Code Online (Sandbox Code Playgroud)


Dic*_*tin 7

我发现图像按钮会返回响应,但是你不应该使用值选项.我看到的是两个版本的name="MYNAME"with .X.Yendings.

例如:

<input type="image" src="/path-to/stop.png" name="STOP" width="25" height="25" align="top" alt="Stop sign">
Run Code Online (Sandbox Code Playgroud)

这是你<form>的意思</form>.如果你点击图片,什么是退换STOP.X,并STOP.Y与数值.存在任何一个表示单击了STOP图像按钮.您不需要任何特殊代码.只需将其视为另一种"提交"按钮,即返回一对增强的NAME.

我在Safari,Firefox和Chrome上试过这个.Safari没有显示图像,但应该找到它的位置,我的光标变成了手指图标,我可以点击它.


Que*_*tin 5

某些浏览器(IIRC只是Internet Explorer的某些版本)仅发送图像映射的坐标(在name.x和name.y中),而忽略该值。这是一个错误。

解决方法是:

  • 只有一个提交按钮,并使用隐藏的输入来发送值
  • 使用常规的提交按钮代替图像映射
  • 使用唯一的名称而不是值,并检查是否存在name.x/name.y