RJS:如何获取DOM元素的值和innerHTML

时间:2011-01-11 08:06:11

标签: ruby-on-rails rjs

我想将DOM元素的值和innerHTML源分配给本地ruby变量。 但是,在我的方法中我似乎无法利用RJS来完成这个功能。 我不知道哪种方法可以实现它,一句话就是:将一个js变量值赋给一个ruby局部变量,怎么做呢?

有限的情况是:        page.assign只能将一个ruby变量值赋给js变量。        page []只能得到一个DOM元素对象,不能返回它的值或innerHTML

1 个答案:

答案 0 :(得分:2)

您是说要通过RJS获取页面上某些元素的innerHTML,将其分配给Ruby变量,并在RJS文件的Ruby代码中使用它?例如:

 # my_page.html
 <div id="foo">This is the content</div>

# my_page.js.rjs
@some_var = page['foo'] # expecting to get "This is the content"
do_something_amazing(@some_var)

这在RJS中是不可能的。原因是您的RJS代码首先在服务器上执行,然后将其呈现的结果发送到浏览器。

如果您需要在服务器端对DOM元素的内容进行操作,则需要通过表单发送这些内容到服务器。