ew inline event handler! I haven't seen that in a while...I think you could have an easier time doing something like this...
$$("form tr a").each(function(anchor){ var pRow = anchor.up("tr"); anchor.observe("click", function(e){ alert(Form.serializeElements(pRow.select("input, select, textarea")); }); }); Unfortunately you lose a lot of the convenient form references like "elements" that access all possible form input objects. I tried to recreate this with the select method http://prototypejs.org/api/element/select I am not sure on your entire scope but it might be a worthwhile approach to segregate the form into many "mini-forms" that only contain the elements you're after. This little diddy will give you a collection of each row's input object's serialized, could be handy... arr = $$("form tr").collect(function(row){ Form.serializeElements(row.select("input, select, textarea")); }); -- Matt Foster Ajax Engineer Nth Penguin, LLC http://www.nthpenguin.com On Jun 24, 11:26 am, Travis <[EMAIL PROTECTED]> wrote: > Okay, this seems to work. I'm not sure if its the most effective way > though. > > <html> > <head> > <script type="text/javascript" src="prototype.js"></script> > </head> > <body> > <form id="test"> > <table> > <thead> > <tr> > <th>Input 1</th> > <th>Input 2</th> > <th>Input 3</th> > </tr> > </thead> > <tbody> > <tr id="row_1"> > <td> > <input class="row_data" type="text" > name="data[item][0]" value="abc1" /> > </td> > <td> > <input class="row_data" type="text" > name="data[item][1]" value="abc2" /> > </td> > <td> > <input class="row_data" type="text" > name="data[item][2]" value="abc3" /> > </td> > <td> > <a href="#" onclick="getRow($ > ('row_1'));">Serialize Row</a> > </td> > </tr> > <tr id="row_2"> > <td> > <input class="row_data" type="text" > name="data[item][0]" value="abc4" /> > </td> > <td> > <input class="row_data" type="text" > name="data[item][1]" value="abc5" /> > </td> > <td> > <input class="row_data" type="text" > name="data[item][2]" value="abc6" /> > </td> > <td> > <a href="#" onclick="getRow($ > ('row_2'));">Serialize Row</a> > </td> > </tr> > </tbody> > </table> > </form> > <script type="text/javascript"> > getRow = function(row) { > alert(Form.serializeElements($(row).descendants())); > } > </script> > </body> > </html> > > On Jun 24, 8:48 am, Travis <[EMAIL PROTECTED]> wrote: > > > Is it at all possible to serialize only elements on a form using the $ > > $ selector? > > > For example: > > > ... > > <tbody> > > <tr id="row_1" class="new_row"> > > <td> > > <input type="text" name="data[item]" /> > > </td> > > </tr> > > <tr id="row_2" class="new_row"> > > <td> > > <input type="text" name="data[item]" /> > > </td> > > </tr> > > </tbody> > > ... > > > And then using prototype to serialize each row: > > > Form.serialize($('form').getElements($$('#row_1')); > > Form.serialize($('form').getElements($$('#row_2')); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Spinoffs" group. To post to this group, send email to rubyonrails-spinoffs@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-spinoffs?hl=en -~----------~----~----~----~------~----~------~--~---