如何在RoR中将按钮更改为超文本

时间:2010-01-08 14:50:06

标签: javascript ruby-on-rails

这是生成按钮的代码,但我想在超文本中,如何修改它?

<% form_remote_tag (:url => { :action => :choose_category, :id => category }) do %>
  <%= submit_tag  category.name %>
<% end %>

我尝试使用link_to,但无法提交发布方法,我该怎么办?

3 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望替换已发布代码中的提交按钮,并使用常规超链接(<a>标记)。查看link_to_remote。要了解生成的JavaScript代码,您可能还需要查看Prototype Ajax.Updater的文档。

答案 1 :(得分:0)

超链接无法提交POST(至少在我知道的任何浏览器中都没有)。表单通常是POST一些数据的最佳方式。

但是,您可以在页面上创建一个表单(使用适当的方法和字段),然后创建一个带有onclick处理程序的超链接,该处理程序将提交表单。我不熟悉RoR给你一个例子,但它应该是对标准超链接生成函数的一个微不足道的改变。

(请注意,onclick处理程序应返回false以防止链接本身被跟踪;理想情况下,如果人们禁用了Javascript,超链接的href将转到某个可接受的页面。)

答案 2 :(得分:0)

链接无法从技术上提交表单。这意味着您只能使用javascript,请查看link_to_function。您需要提交表单的id,然后您可以编写一些javascript:

$('the_forms_id').submit(); return false;