Mike Dershowitz
2007-Apr-28 17:27 UTC
RJS error I don''t understand - multiple replace_html
Hello: I''ve got a remote-link-to that''s replaacing a div section quite nicely. the HTML that get''s injected into the form in the first place has a form in it. Here''s waht gets injected in a div on a page: The link_to_remote that does this is here: <%= link_to_remote "Forward", :url => { :controller => ''messages'', :action => ''forward'', :id => msg.id } %> | the "forward" function it calls is here: def forward @message = Message.find(params[:id]) render :update do |page| page["reply-forward#{@message.id}"].replace_html :partial => ''fmessage'', :locals => { :msg => @message} end end The partial that gets injected is here ("_fmessage.rhtml"): <% form_tag ''/messages/create_forward'' do -%> <span class="boldTextBlk"> <table border="0" cellpadding="1" cellspacing="1"> <tr> <td><b>To</b></td> <td align="left"><%= text_field_tag :to, nil, :size => "15" %> <%= submit_tag "Send!" %> </td> </tr> <tr> <td><b>Subject</b></td> <td align="left"><%= text_field_tag :subject, "Re: #{msg.subject}", :size => "30" %> </td> </tr> <td><b>Message</b></td> <td><%= text_area_tag :body, nil, :size => "45x3" %> <%= hidden_field_tag :msg_id, msg.id %> </td> </tr> </table> </span> <% end %> And the method that the submit tag calls is quite simple - the DB inserts it does work fine. But what doesn''t, is when I try and essentially empty-out the original div that the partial gets put into. Here''s the code I''m trying: render :update do |page| page["reply-forward#{@reply_to.id}"].update :partial => ''empty'' end (NOTE: I also tried replace_html, but that didn''t work either. The error it''s giving is: try { $("reply-forward23").update({partial: "empty"}); } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$(\"reply-forward23\").update({partial: \"empty\"});''); throw e } I''m sure this an error others have encountered. I tried to give you a complete picture. I''m just not sure why I can re-replace (essentially, that''s what I''m doing). Thank you very much in advance for your help! Mike -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Jason Roelofs
2007-Apr-30 12:54 UTC
Re: RJS error I don''t understand - multiple replace_html
The proper form of replace_html is: page.replace_html dom_id, *render_options In your case: render :update do |page| page.replace_html "reply-forward#{@reply_to.id}", :partial => ''empty'' end Anything that isn''t recognized by the JavascriptHelper gets turned directly into Javascript (e.g. your update method). Jason On 4/28/07, Mike Dershowitz <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > > Hello: > > I''ve got a remote-link-to that''s replaacing a div section quite nicely. > the HTML that get''s injected into the form in the first place has a form > in it. Here''s waht gets injected in a div on a page: > > The link_to_remote that does this is here: > > <%= link_to_remote "Forward", > :url => { :controller => ''messages'', :action => > ''forward'', :id => msg.id } %> | > > the "forward" function it calls is here: > > def forward > @message = Message.find(params[:id]) > render :update do |page| > page["reply-forward#{@message.id}"].replace_html :partial => > ''fmessage'', :locals => { :msg => @message} > end > end > > The partial that gets injected is here ("_fmessage.rhtml"): > > <% form_tag ''/messages/create_forward'' do -%> > <span class="boldTextBlk"> > <table border="0" cellpadding="1" cellspacing="1"> > <tr> > <td><b>To</b></td> > <td align="left"><%= text_field_tag :to, nil, :size => "15" %> > > > > <%= submit_tag "Send!" %> > </td> > </tr> > <tr> > <td><b>Subject</b></td> > <td align="left"><%= text_field_tag :subject, "Re: > #{msg.subject}", :size => "30" %> > </td> > </tr> > <td><b>Message</b></td> > <td><%= text_area_tag :body, nil, :size => "45x3" %> > <%= hidden_field_tag :msg_id, msg.id %> > </td> > </tr> > </table> > </span> > <% end %> > > And the method that the submit tag calls is quite simple - the DB > inserts it does work fine. But what doesn''t, is when I try and > essentially empty-out the original div that the partial gets put into. > Here''s the code I''m trying: > > render :update do |page| > page["reply-forward#{@reply_to.id}"].update :partial => ''empty'' > end > > (NOTE: I also tried replace_html, but that didn''t work either. The > error it''s giving is: > > try { > $("reply-forward23").update({partial: "empty"}); > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); > alert(''$(\"reply-forward23\").update({partial: \"empty\"});''); throw e } > > I''m sure this an error others have encountered. I tried to give you a > complete picture. I''m just not sure why I can re-replace (essentially, > that''s what I''m doing). > > Thank you very much in advance for your help! > > Mike > > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---