2008/7/31 Will Hawes <[EMAIL PROTECTED]>: > 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? >
Warnocked! :-) Does no-one object to me checking this change in then? _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu