<input type=image ...>
不是要走的路,因为它提交了x,y坐标。
当我点击图标时,我想提交为POST
或PUT
,因此应该有一些form, input
行动。
<form action="" method="PUT" name="abc_table_form">
display icons
</form>
这样做的正确方法是什么?
感谢。
<table>
<row1> <form action="http://google.com/123/"> <button> icon1 </button></form> </row1>
<row2> <form action="http://google.com/456/"> <button> icon1 </button></form> </row2>
</table>
表格为表格增加了额外的空间。它看起来很难看。表单中的操作有所不同,我相信此处的<button>
基于form
的操作。处理这个问题的正确方法是什么?
答案 0 :(得分:3)
图像输入将提交POST表单(尽管它们被设计为用作服务器端图像映射,但它们并不适合,除非您想在图像上提交坐标)。
<button type="submit"> <img src="..." alt="Submit"> </button>
是使用图像提交表单的更加语义的方式(尽管某些版本的Internet Explorer会响应此提交奇数值)。
如果要使用浏览器中的其他方法(即PUT)发出HTTP请求,则需要使用XMLHttpRequest并使用JavaScript构建它。浏览器对此的支持有点变化。
答案 1 :(得分:1)
<table>
<tr><td> <form action="..." method=POST><button><img src=test.png alt=Test></button>
<input type=hidden name=foo value=bar></form>
<tr> ...
</table>
也就是说,将每个图像包装在一个按钮中并以自己的形式包装按钮。即使表单都具有相同的action
属性,您也需要使用单独的表单以强大的纯HTML方式传递不同的数据(示例中的参数foo
的不同值)。原因是您使用隐藏字段执行此操作,并且它们与封闭表单相关。
对于样式,请考虑以下几点:
表格{display:inline; } 按钮{border:none;填充:0; }
他们会让图像看起来像这样,没有任何可点击的暗示,所以你应该在页面上用散文来解释他们做了什么。
你不能让表格包裹一个表格行(当然,如果它是一行表格)。您只需要在每个表单中单独包含各种参数(在不同表单中具有相同的input type=hidden
元素没有问题)。它很枯燥,但你可能无论如何都会以编程方式生成页面,并且程序喜欢做枯燥的事情。