# Determing JS+AJAX vs. button

**URL:** <https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957>\
**Category:** Rails\
**Created:** [May 11, 2007, 11:01pm UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957 "2007-05-11T23:01:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![madiba](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/58956e/32.png) [@madiba](https://www.ruby-forum.com/u/madiba)\
**Post date:** [May 11, 2007, 11:01pm UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957/1 "2007-05-11T23:01:30Z")

</div>

I’d like to use on browsers supporting AJAX link\_to\_remote or  
button\_to\_function/remote\_function and on rest button\_to and link\_to.

## How can I determine it?

I’ve probably left my head… somewhere. Please wait untill I find it.  
Homepage (pl\_PL): [http://uzytkownik.jogger.pl/](http://uzytkownik.jogger.pl/)  
(GNU/)Linux User: #425935 (see [http://counter.li.org/](http://counter.li.org/))

---

<div class="post-metadata">

**Author:** ![madiba](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/58956e/32.png) [@madiba](https://www.ruby-forum.com/u/madiba)\
**Post date:** [May 12, 2007, 3:17am UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957/2 "2007-05-12T03:17:48Z")

</div>

Maciej P. wrote:

> I’d like to use on browsers supporting AJAX link\_to\_remote or  
> button\_to\_function/remote\_function and on rest button\_to and link\_to.
> 
> How can I determine it?

Send both systems, and let the browser figure it out, like this:

 \<%= my manual buttons %\> 

\<%= javascript\_tag … %\>

A browser without JavaScript will render the HTML inside , so  
put  
your buttons there. And only a browser _with_ JavaScript will respect  
the

 tags that javascript\_tag inserts, so I suspect you could put 'document.write' calls in there that insert your link\_to\_remote tags. /Pragmatic Ajax/ has a great section on degradability, but I don't know if it has the trick. -- Phlip http://www.oreilly.com/catalog/9780596510657/ "Test Driven Ajax (on Rails)" assert\_xpath, assert\_javascript, & assert\_ajax

---

<div class="post-metadata">

**Author:** ![madiba](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/58956e/32.png) [@madiba](https://www.ruby-forum.com/u/madiba)\
**Post date:** [May 12, 2007, 10:03am UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957/3 "2007-05-12T10:03:10Z")

</div>

On Fri, 11 May 2007 18:16:32 -0700, Phlip wrote:

> ```
> <%= my manual buttons %>
> 
> ```
> 
> /Pragmatic Ajax/ has a great section on degradability, but I don’t know  
> if it has the trick.

Thank you - sometimes I forget about those base (x)html tricks…

## Regards

I’ve probably left my head… somewhere. Please wait untill I find it.  
Homepage (pl\_PL): [http://uzytkownik.jogger.pl/](http://uzytkownik.jogger.pl/)  
(GNU/)Linux User: #425935 (see [http://counter.li.org/](http://counter.li.org/))

---

<div class="post-metadata">

**Author:** ![madiba](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/58956e/32.png) [@madiba](https://www.ruby-forum.com/u/madiba)\
**Post date:** [May 12, 2007, 12:35pm UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957/4 "2007-05-12T12:35:18Z")

</div>

Maciej,

> I’d like to use on browsers supporting AJAX link\_to\_remote or  
> button\_to\_function/remote\_function and on rest button\_to and  
> link\_to.

link\_to\_remote offers fallback for js-challenged browsers, so this  
code would do what you need :(untested)

\<%= link\_to\_remote “Delete”,  
{:url =\> {:action =\> “delete”, :id =\> id} }, ## ← if JS  
available  
{:href =\> url\_for(:action =\> “delete”,:id =\> id)} ## ← if NO JS  
%\>

, and in the controller you’d use ‘respond\_to’ to handle both calls  
within one action.

## Alain R.

[blog.ravet.com/](http://blog.ravet.com/)

---

<div class="post-metadata">

**Author:** ![madiba](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/58956e/32.png) [@madiba](https://www.ruby-forum.com/u/madiba)\
**Post date:** [May 12, 2007, 5:01pm UTC](https://www.ruby-forum.com/t/determing-js-ajax-vs-button/103957/5 "2007-05-12T17:01:45Z")

</div>

On Sat, 12 May 2007 12:33:56 +0200, Alain R. wrote:

> ```
> {:url => {:action => "delete", :id => id} }, ## <-- if JS
> 
> ```
> 
> Alain R.  
> Thanks. That is just what I wanted.

Regards

–  
I’ve probably left my head… somewhere. Please wait untill I find it.  
Homepage (pl\_PL): [http://uzytkownik.jogger.pl/](http://uzytkownik.jogger.pl/)  
(GNU/)Linux User: #425935 (see [http://counter.li.org/](http://counter.li.org/))
