如何创建更新模型属性的按钮?

时间:2011-06-13 11:36:29

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-3

通常我有这张表格来更新照片:

<% 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的图像。

有人能指出我的正确方法吗? 感谢。


1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

我回收了表单,只是使用图片的来源自动填充文本字段。

通过让javasript来实现它:

document.getElementById("proto_image_data").value = 
document.getElementById("thecanvas").src;

proto_image_data是文本字段的id,它要求:image_data,例如。

  

thecanvas是我在页面上的图像的img id。

这是一个javascript函数,它在同一页面/ div上显示图像和表单。干杯。

不幸的是,图像下方仍有一个文本字段(现在图像源已准备好更新)。但是,这至少实现了不让用户手动复制+粘贴图像源的主要目标。

如果有更好的方法,请告诉我。感谢。


此外,我已将文本字段替换为隐藏字段,并且脚本的工作方式相同。表单现在是不可见的,但是提交按钮。