Rails code explained
You just need to add on line in your view and two more options to the
form_remote_tag.
To generate code for overlay message:
<%= transparent_message_create("ajax_info_message", "Saving password<br/>", "/images/progress_FFF.gif") %>
To display/hide overlay message add
:loading and
:complete options
<%= form_remote_tag( :url => {:action => "post"},
:html => {:id => "password_form"},
:loading => transparent_message_show('ajax_info_message', {:hideMode => "'none'",
:showMode => 'null',
:insideElement => {:id => "'form'"}}),
:complete => transparent_message_hide('ajax_info_message')) %>
/* Transparent form message (error and notice) for ajax form */
.transparent_ajax_message {
width: 100%;
text-align: center;
font-size: 20px;
position: absolute;
opacity: 0.8;
}
.transparent_ajax_error p {
color: #560109;
background: #FFA3A9;
border-left: 1px solid #750004;
border-right: 1px solid #750004;
border-bottom: 1px solid #750004;
margin: 0px 20px 0px 20px;
padding-top: 20px;
padding-bottom: 20px;
-moz-border-radius-bottomleft: 10px;
-moz-border-radius-bottomright: 10px;
}
.transparent_ajax_notice p {
color: #23571D;
background: #9BFFA3;
border-left: 1px solid #23571D;
border-right: 1px solid #23571D;
border-bottom: 1px solid #23571D;
margin: 0px 20px 0px 20px;
padding-top: 20px;
padding-bottom: 20px;
-moz-border-radius-bottomleft: 10px;
-moz-border-radius-bottomright: 10px;
}
/* Saving message for ajax form */
#ajax_info_message {
position: absolute;
background: #FFF;
opacity: 0.7;
}
#ajax_info_message p {
padding-top: 0px;
font-size: 30px;
color: #B1A861;
text-align: center;
}
Full view code (toggle)
<%= transparent_message_create("ajax_info_message", "Saving password<br/>", "/images/progress_FFF.gif") %>
<div class="form" id="form">
<div class="form_content">
<%= form_remote_tag(:url => {:action => "post"},
:html => {:id => "password_form"},
:loading => transparent_message_show('ajax_info_message', {:hideMode => "'none'", :showMode => 'null', :insideElement => {:id => "'form'"}}),
:complete => transparent_message_hide('ajax_info_message')) %>
<span class="label">Password</span><span class="field"><%= password_field_tag "password" %></span><br class="clear"/>
<span class="label">Confirm</span><span class="field"><%= password_field_tag "confirm" %></span><br class="clear"/>
<span class="label"> </span><span class="field"><%= submit_tag "Save" %></span><br class="clear"/>
<%= end_form_tag %>
</div>
</div>