Могу ли я определить функцию Ruby для события onclick? - PullRequest
1 голос
/ 31 июля 2009

Могу ли я определить некоторую функцию Ruby (кроме JavaScript) в событии onclick для переключателя?

Например, могу ли я использовать что-то подобное?

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

Ответы [ 2 ]

2 голосов
/ 31 июля 2009

В этом случае 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>
0 голосов
/ 31 июля 2009

Это невозможно без Javascript, и даже если бы это могло остановить пользователя от запуска произвольного кода, который он хотел?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...