[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

mixing onlick functions in link_to_function

Mike Dershowitz

6/2/2007 8:04:00 PM

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-....

2 Answers

Alex Young

6/2/2007 8:09:00 PM

0

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

Rob Biedenharn

6/2/2007 9:39:00 PM

0

On Jun 2, 2007, at 4:03 PM, 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,
> 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

<%= 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://agileconsult...
Rob@AgileConsultingLLC.com