【问题标题】:Can I define a Ruby function for an onclick event?我可以为 onclick 事件定义一个 Ruby 函数吗?
【发布时间】:2009-07-31 11:39:42
【问题描述】:

我可以在 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 )")

【问题讨论】:

  • 我们可以开始用javascript-misunderstanding 标记这样的问题吗?最近好多啊……O_O

标签: javascript ruby-on-rails


【解决方案1】:

在这种情况下,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>

【讨论】:

  • 我可以在没有 onclick 事件的情况下增加 vote_count 吗?其实我想在用户选择答案时增加 vote_count
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多