<%doc> Example: <% include( '/elements/form-file_upload.html', 'name' => 'form_name', 'action' => 'process/target.cgi', #progress-init target 'fields' => [ 'other', 'form', 'fields' ], 'num_files' => 1, #or more 'url' => $url #AND/OR 'message' => 'Message', #optional 'key' => 'unique_key', #for using more than once on a page ) % #... % # num_files=>1 include( '/elements/file-upload.html', 'field' => 'element', 'label' => 'Label', ) % # OR % # num_files=>2 # or more include( '/elements/file-upload.html', 'field' => [ 'element', 'element2', ], #etc. 'label' => [ 'Label', 'Label2', ], #etc. ) %> <% include( '/elements/progress-init.html', $opt{name}, $opt{fields}, $opt{action}, $msg_or_url, $opt{key}, ) %>
<%init> #my( $formname, $fields, $action, $url_or_message, $key ) = @_; my %opt = ref($_[0]) ? %{ $_[0] } : @_; my $key = exists $opt{key} ? $opt{key} : ''; push @{ $opt{fields} }, 'uploaded_files'; my $msg_or_url = $opt{message} ? { 'message' => $opt{message}, 'url' => $opt{url}, } : $opt{url}; $opt{onsubmit} .= ';' if $opt{onsubmit} && $opt{onsubmit} !~ /;\s*$/;