通常我有这张表格来更新照片:
<% form_for(@proto, :url=>{:controller=>"protos", :action=>"update"}, :html => { :multipart => true }) do |f| %>
<p>
<%= f.text_field :image_data %>
<%= submit_tag "Save Proto" %>
</p>
<% end %>
它要求用户输入图像数据的base64字符串,并更新原型模型的图像。
我的网站上显示了图片。
而不是用户复制然后粘贴base64字符串;我只想要一个使用该图像源(按钮位于图像下方)的按钮来更新@proto的图像。
有人能指出我的正确方法吗? 感谢。
答案 0 :(得分:0)
我已经解决了这个问题。
我回收了表单,只是使用图片的来源自动填充文本字段。
通过让javasript来实现它:
document.getElementById("proto_image_data").value =
document.getElementById("thecanvas").src;
proto_image_data是文本字段的id,它要求:image_data,例如。
thecanvas是我在页面上的图像的img id。
这是一个javascript函数,它在同一页面/ div上显示图像和表单。干杯。
不幸的是,图像下方仍有一个文本字段(现在图像源已准备好更新)。但是,这至少实现了不让用户手动复制+粘贴图像源的主要目标。
如果有更好的方法,请告诉我。感谢。
此外,我已将文本字段替换为隐藏字段,并且脚本的工作方式相同。表单现在是不可见的,但是提交按钮。