Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Ruby Programming Language

mixing onlick functions in link_to_function


Hi:

This is giving an error:

<%= link_to_function "expand",
              "Element.toggle('in#{msg.id}');
Element.show('col#{msg.id}'); Element.hide('ex#{msg.id}');
document.getElementById('#{msg.id}').style.backgroundColor = 'white';
{new Ajax.Request('/messages/msg_read/#{msg.id}, {asynchronous:true,
evalScripts:true})}" %>

I've tried it a bunch of different ways but I still get an:

"unterminated string literal"

error.

Any help you can provide would be greatly appreciated - or Is there a
better way?

Thanks!

Mike

--
Posted via http://www.ruby-forum.com/.

Mike Dershowitz wrote:
> Hi:

> This is giving an error:

> <%= link_to_function "expand",
>               "Element.toggle('in#{msg.id}');
> Element.show('col#{msg.id}'); Element.hide('ex#{msg.id}');
> document.getElementById('#{msg.id}').style.backgroundColor = 'white';
> {new Ajax.Request('/messages/msg_read/#{msg.id}, {asynchronous:true,

--------------------^

This quote mark isn't closed.

--
Alex

On Jun 2, 2007, at 4:03 PM, Mike Dershowitz wrote:

<%= link_to_function "expand" do |page|
       page.toggle "in#{msg.id}"
       page.show   "col#{msg.id}"
       page.hide   "ex#{msg.id}"
       page << "$('#{msg.id}').style.backgroundColor = 'white';"
       remote_function(:url => '/messages/msg_read/#
{msg.id}')         #<<== messages_msg_read_path(msg) perhaps?
     end %>

gives:

<a href="#" onclick="try {
Element.toggle(&quot;in18&quot;);
Element.show(&quot;col18&quot;);
Element.hide(&quot;ex18&quot;);
$('18').style.backgroundColor = 'white';

} catch (e) { alert('RJS error:\n\n' + e.toString()); alert

('Element.toggle(\&quot;in18\&quot;);\nElement.show(\&quot;col18
\&quot;);\nElement.hide(\&quot;ex18\&quot;);\n$(\'18
\').style.backgroundColor = \'white\';'); throw e }; return  
false;">expand</a>

Which is clearly easier to read (and find that missing ' that Alex  
pointed out), right?

-Rob

Rob Biedenharn          http://agileconsultingllc.com
R@AgileConsultingLLC.com

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc