2011-01-11 21 views
2

DOM要素の値とinnerHTMLソースをローカルルビ変数に割り当てたいとします。 しかし、私の方法では、この機能を完了するためにRJSを使用することはできません。 どのメソッドが実装できるのか分かりません。言い換えれば、js変数の値をルビローカル変数に代入するにはどうすればいいですか?RJS:DOM要素の値とinnerHTMLを取得する方法

制限された状況は次のとおりです。 page.assignは、js変数にルビ変数値を割り当てることができます。 ページ[]はDOM要素オブジェクトを1つしか取得できず、値またはinnerHTMLを返すことはできません

答えて

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要素の内容をサーバー側で処理する必要がある場合は、その内容をフォームポストを介してサーバーに送信する必要があります。

+0

はい、ご理解のほどです。私はあなたの意見を持っています。ほんとありがと ! :) – squirrelRao

関連する問題