【问题标题】:Arbitrarily place text inside an input field在输入字段中任意放置文本
【发布时间】:2016-01-19 18:20:02
【问题描述】:

我是 Rails 和一般编码的新手,尽管进行了一些激烈的谷歌搜索,但我仍在努力寻找解决方案来解决看似相当简单的问题。我希望社区可以为我指明一些进一步阅读或提出解决方案的方向:

我有一个基本上允许用户填写表格的应用程序。表单在后台呈现为 .jpg,z-index 为 -1(表单是发件人的依赖项),我希望用户能够将文本放置在输入字段中的任意位置。该位置应存储在数据库中或以其他方式记住,以便在使用show 视图时可以将其呈现在正确的位置。

我允许发件人上传他们自己的表单,因此仅将表单域放在正确的位置是行不通的。

似乎会有某种优雅的 javascript 解决方案,但我似乎找不到任何关于它的信息。

非常感谢提出的解决方案或进一步阅读!

【问题讨论】:

  • 用户一写就需要保存数据?如果是这样,您可以使用 best_in_place gem,这将有助于在用户键入时立即保存数据。链接 - github.com/bernat/best_in_place。或者你想要别的东西吗?

标签: javascript ruby-on-rails forms


【解决方案1】:

让我看看我的理解是否正确。当您说“表单”在后台呈现时,您指的是物理表单……就像您发现打印在一张纸上的东西,而不是称为表单的 HTML“东西”?

如果我对此的理解是正确的,听起来您希望允许用户在与图像上打印字段的物理位置相对应的任意位置在图像“上方”键入文本?有点像可编辑的 PDF 作品?

在考虑了一下并且没有想出任何明显的解决方法之后,我能给你的最好的一般建议是让您查看 HTML 5 Canvas 元素。这可能需要一些 JS 魔法,但将这些上传的表单设置为画布的“背景图像”可能相当简单,允许用户在其上键入任意内容。从那里,我确信有合理的方法可以保存画布的“状态”,以便可以将其传输到某种服务器端持久层。

【讨论】:

  • 抱歉延迟 - 你是对的 - 当我提到“表单”时,我指的是物理文档,而不是称为表单的 HTML 对象。我已经按照建议研究了 canvas 元素,但所有迹象都指向绘图而不是文本输入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2022-10-12
  • 1970-01-01
相关资源
最近更新 更多