# Clearing a remote form

**URL:** <https://www.ruby-forum.com/t/clearing-a-remote-form/67654>\
**Category:** Rails\
**Created:** [September 5, 2006, 10:58pm UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654 "2006-09-05T22:58:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sterling\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@Sterling\_A](https://www.ruby-forum.com/u/Sterling_A)\
**Post date:** [September 5, 2006, 10:58pm UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654/1 "2006-09-05T22:58:34Z")

</div>

I’m using a form\_remote\_tag to create an ajax form, but would like to  
clear the values in the fields after submitting the form. Is there a  
way to do this that I am missing or am I going to have to write my own  
javascript to do it?

–  
Sterling A.  
sterling [at] [sterlinganderson.net](http://sterlinganderson.net)  
[http://sterlinganderson.net/](http://sterlinganderson.net/)  
608.239.8387

---

<div class="post-metadata">

**Author:** ![Sterling\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@Sterling\_A](https://www.ruby-forum.com/u/Sterling_A)\
**Post date:** [September 5, 2006, 11:06pm UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654/2 "2006-09-05T23:06:35Z")

</div>

Sterling,

The simplest approach I’ve found is to redraw the form. I’m assuming  
you’ve got some kind of rjs file to facilitate returning error  
messages, etc. Make sure the form is inside a div tag that has a  
unique id and then if the form is submitted succesfully execute a

page.replace “unique-id”, :partial =\> ‘form\_partial’

You could theoretically save yourself a small amount of bandwidth by  
writing some custom javascript, but the cost of loading that javascript  
on every page load will likely be close to the load created by  
refreshing the entire form. (assuming the form isn’t too large)

---

<div class="post-metadata">

**Author:** ![Sterling\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@Sterling\_A](https://www.ruby-forum.com/u/Sterling_A)\
**Post date:** [September 6, 2006, 12:30am UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654/3 "2006-09-06T00:30:45Z")

</div>

Try the :loading =\> “this.reset();” option, or :loaded, :completed,  
:after  
etc depending on when exactly you want it cleared.

---

<div class="post-metadata">

**Author:** ![Sterling\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@Sterling\_A](https://www.ruby-forum.com/u/Sterling_A)\
**Post date:** [September 6, 2006, 2:46am UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654/4 "2006-09-06T02:46:55Z")

</div>

Hi Sterling,

Sterling A. wrote:\

> I’m using a form\_remote\_tag to create an ajax form,  
> but would like to clear the values in the fields after  
> submitting the form.

If you’re using Ajax to submit your form (as suggested) you can just use  
page.form.reset(‘name\_your\_form’)

hth,  
Bill

---

<div class="post-metadata">

**Author:** ![Sterling\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ce73a5/32.png) [@Sterling\_A](https://www.ruby-forum.com/u/Sterling_A)\
**Post date:** [September 6, 2006, 5:10pm UTC](https://www.ruby-forum.com/t/clearing-a-remote-form/67654/5 "2006-09-06T17:10:16Z")

</div>

What also works with AJAX:

:success =\> “Form.reset(‘HTML ID OF FORM’)”

–Lars
