我可以为onclick事件定义Ruby函数吗?

时间:2009-07-31 11:39:42

标签: javascript ruby-on-rails

我可以在onclick事件中为单选按钮定义一些Ruby函数(除了JavaScript之外)吗?

例如,我可以使用这样的东西吗?

<%= radio_button(count, voting.vote_count, :onclick => "if voting.nominees.eql?(selected.nominees) voting.update_attribute('vote_count',voting.vote_count+1 )")

2 个答案:

答案 0 :(得分:2)

在这种情况下,Ruby正在服务器上运行,JavaScript正在浏览器上运行。

当点击发生时,Ruby程序已经完成运行。

运行Ruby函数的唯一方法是向服务器发出新的HTTP请求。 XMLHttpRequest对象允许您通过JavaScript执行此操作。要在没有JavaScript的情况下实现它,你需要做一些诡计。

<form action="..." method="post">
  <div>
    <button type="submit"> 
      <img src="looks-like-a-radio-button.png" alt="vote">
    </button>
    <input type="hidden" name="vote" value="whatever">
  </div>
</form>

答案 1 :(得分:0)

如果没有Javascript,这是不可能的,即使它是阻止用户运行她想要的任意代码的原因吗?