Tuesday, February 3, 2009

form inside form. is it possible?

Hi guys,

whatever i can recall i think i got hit by this problem earlier too, but at that time certainly i was not a blogger, in fact i was lazy of writing too :)) and see it came again, this issue is of placing a html form inside another.
It sounds messy right?? ya ya i know, but some how this was one of the requirement for one of the application that i was developing.

was having a html form with list item as radio box option but later it came to the requirement that label of radio button too should be update able so i tried putting up form_remote_tag(the rails method) for labels but it was not working in fact html form was not coming on to the page(as i was loading it through partials).

So went in for :with parameter in using the remote functions for prototype helper

the host rhtml
<% form_tag url_for(:controller => "controller_name", :action => "action_name") do %>
<%@some_collection_hash.each do |key,value| -%>
<%value.each do |single_item|-%>
<div class="sbc" style="width:30px;">
<%=radio_button_tag("publisher[#{key}]", single_item.id,false,:disabled => (single_item.status != "valid")) -%>
<div class="sbc" id="<%=single_item.id-%>_batch">
<%=render :partial => "/xyz/partial_one", :locals => {:single_item => single_item, :key => key} -%>
<%= submit_tag "Get Summary"%>
<% end %>

The view partial
<li class="head_li">Satus:</li>
<li class="dotless_li">
<%=select_tag("#{single_item_id}_status", options_for_select(["valid","invalid","pending","running","deleted","summarize"],@single_item.status)) %>
<li class="head_li">Description:</li>
<li class="dotless_li"><%=text_area_tag "#{single_item_id}_desc", @single_item.comments, :rows => 3, :cols => 30 -%></li>
<input type="button" value="Close" onclick="<%= remote_function(:update => "options",
:url => {:controller=> :controller_name, :action => :show_single_iteminfo ,:single_item_id => single_item_id, :key => key},
:update => { :success => "#{single_item_id}_single_item", :failure => "#{single_item_id}_single_item" }) -%>" />

<input type="button" value="Save" onclick="<%= remote_function(:update => "options",
:url => {:controller=> :controller_name, :action => :save_single_iteminfo ,:single_item_id => single_item_id, :key => key},
:with => "'description='+$F('#{single_item_id}_desc')+'&'+'status='+$F('#{single_item_id}_status')",
:update => { :success => "#{single_item_id}_single_item", :failure => "#{single_item_id}_single_item" }) -%>" />

No comments:

Post a Comment