2008/7/29 Will Hawes <[EMAIL PROTECTED]>: > The Repeatable docs state "repeat is automatically called during > $form->process, to ensure the initial child elements are correctly > setup". > > So if you want more than one repetition, you have to call repeat() > after process(), otherwise process() reverts everything back to just > the one: > > --- > elements: > - type: Repeatable > id: repeater > elements: > - type: Text > name: foo > > my $repeater = $form->get_element({ id => 'repeater' }); > > # 5 repetitions > $repeater->repeat(5); > > # repetitions overwritten, now just one > $form->process(); > > # 5 repetitions again > $repeater->repeat(5); > > This is problematical if you want to modify (e.g. rename) some of the > repeated fields prior to calling process(), because they will be > removed when process() calls repeat(1). In my case I want to append a > database primary key value to the name of each repeated field, but the > same applies to any other modification. > > I think it might be better if process() called repeat(1) only if > repeat() had not been called already, so you could call repeat() and > modify the generated elements prior to calling process(). I've tested > this briefly and it doesn't appear to have any unwanted side effects. > > I'm happy to patch it if others are in agreement. > > Thoughts? >
Anyone? _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu