【问题标题】:CakePHP 3 image click information and the formCakePHP 3 图片点击信息及表格
【发布时间】:2017-01-04 21:14:22
【问题描述】:

我有一个标准表格,页面上的一些图像分布在页面上的随机位置。我想选择并单击其中一张图像,在输入中添加一些信息,然后单击提交按钮。问题是我没有很好的解决方案来通过表单发送关于随机分布的图像被点击的信息。我唯一的想法是制作图片网址,但我无法从输入中传递信息。关于如何将点击的图片与标准表单信息结合起来有什么好的建议吗?

【问题讨论】:

  • 是不是不能在你的图片上添加点击事件监听器,然后点击你将信息保存在一个隐藏的输入字段中?
  • 你能举一个简单的例子来说明你的建议吗?

标签: cakephp-3.0


【解决方案1】:

例如,这是一个包含隐藏字段的示例表单:

    <form>
         <input type="hidden" name="image_info" >
         <!-- you other input fields -->
         <input type="text" name=".." >
         ...
         ...
   </form>

在你的 HTML 中你有不同的图片标签 喜欢

<img src="..." data-info="image info to be placed in hidden field" title="..." alt="..." />
<img src="..." data-info="image info to be placed in hidden field" title="..." alt="..." />

在 Javascript

中
<script>
 $('img').on('click', function() {
   var img = $(this),
       img_field = $('input[name=image_info]');

   img_field .val(img.data('info') );
 });
</script>

这不是一个完整的代码,而是一个如何实现它的想法。

【讨论】:

  • 我明白你现在的意思,但这对我来说不是一个解决方案,因为我不能使用 javascript 来实现关键功能。这确实是一个重要而关键的功能。 +1 点的想法,但仍然不是我的解决方案
  • @Annabelle JS 是迄今为止最简单、最灵活的解决方案,因为图像可以以这种方式放置在 DOM 中的任何位置。非 JS 解决方案要么非常复杂,涉及框架、会话、额外的服务器端处理等,要么需要将图像放在表单中,turning them into checkboxes or radio buttons。
  • 是的,非常不情愿,但我刚刚使用隐藏输入和 JS 完成了这个功能。在这件事上使用 session 有多安全?在这种情况下使用 session 会更好吗?
  • @Annabelle 客户端数据永远不会安全,甚至是您的输入字段,您必须在服务器端尽一切可能使您的应用程序足够安全。
猜你喜欢
  • 2014-10-17
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 2019-06-22
  • 2019-09-17
相关资源
最近更新 更多