I'ts as I said, you are asking the function to do something it's not set up to do.
If you follow the path of the function call, at the top of admin.cgi the $in and $db variables are passed to the $sub, which is determined by the calling URL.
that sends (in this case) to html_add_form, in Admin_HTML.pm
In that sub, you see:
Code:
sub html_add_form {
# --------------------------------------------------------
# The add form page where the user fills out all the details
# on the new record he would like to add. You should use
# &html_record_form to print out the form as it makes
# updating much easier. Feel free to edit &get_defaults
# to change the default values.
my ($in, $db) = @_;
my $footer = &html_footer ($in, $db);
my $form = $db->build_html_record_form ($db->get_defaults, { hide_key => 1, show_attach => 1, base_url => "$SCRIPT_URL?do=show_attach&db=$DATABASE&ID=", CategoryID => \&build_category_row });
What this shows, is that the $in (pointer to a cgi object _I_THINK_) is passed to the &html_footer routine, but it is not converted to a local hash -- the routine is _NOT_ expecting any passed parameters.
You'd want to pass:
Tag_Name => $in->param(Tag_Name)
in the call to "build_html_record_form" the way the CategoryID is passed, and assigned the category or list.
Alternatively, you could, I would imagine, convert the $in to a local variable, using "cgi_to_hash" and then pass %$in to the routine.
I'm not sure which, if either,would work right, but that is why you are not getting the values. You'd also probably have to re-do the called routine to know to act on the passed parameters, since the only parameters it's probably expecting is CategoryID (unless it's the same routine used for all the calls, in which case it should automatically process the passed hash values).
but, there-be your problem.
http://www.postcards.com FAQ:
http://www.postcards.com/FAQ/LinkSQL/