First of all, I would just like to apologize for not sending this to the CGI-list, but I prefer this list. As this is where I've gotten the best help in the past. Blame yourself :)
I was reading CGI.pm when I discovered that you could use the -value argument from submit buttons, and assign them to variables. >From CGI.pm: ########### submit() will create the query submission button. Every form should have one of these. The first argument (-name) is optional. You can give the button a name if you have several submission buttons in your form and you want to distinguish between them. The name will also be used as the user-visible label. Be aware that a few older browsers don't deal with this correctly and never send back a value from a button. The second argument (-value) is also optional. This gives the button a value that will be passed to your script in the query string. You can figure out which button was pressed by using different values for each one: $which_one = $query->param('button_name'); ########## I was thinking of ways I could use this, and tried with this idea: my $q = new CGI; my $buttonVelgArrangement = undef; if ($buttonRegistrer) { FerdigRegistrering(); } elsif ($buttonVelgArrangement) { Registrer(); } else { VelgArrangement(); } sub VelgArrangement { print $q->start_html, $q->h1("here is a form"), ## FORM HERE $q->submit(-name=>'velgarrangement', value=>'Velg'), $q->end_html; my $button = \$buttonVelgArrangement; $button = $q->param('velgarrangement'); } When I try to use this method, nothing happens when I press the submit button. Is this method possible, or am I misunderstanding something? I was hoping it would jump to Registrer(). Is the problem that when I hit the submit-button, a new CGI call is sent to the server, and $buttonVelgArrangement is again undef? Has anyone used this feature of the submit button before (in what way?)? Any help/info is greatly appreciated. Tor (I added my test code below) -- START FULL EXAMPLE CODE #!/usr/bin/perl use Strict; use DBI; use CGI qw(:standard); my $q = new CGI; my $host = "localhost"; my $user = "tor"; my $password = "password"; my $database = "nuug"; my $table = "arrangement"; my $buttonVelgArrangement = undef; My $buttonRegistrer = undef; if ($buttonRegister) { FerdigRegistrering(); } elsif ($buttonVelgArrangement) { Registrer(); } else { VelgArrangement(); } sub VelgArrangement { my @arrangement; my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host", $user, $password, {'RaiseError' => 1}); my $sth = $dbh->prepare("select * from $table"); $sth->execute(); while (my $ref = $sth->fetchrow_hashref()) { push(@arrangement, $ref->{'kort'}); } print $q->header, $q->start_html('Registrering'), $q->h1("NUUG Arrangementsregistrering "), hr, $q->h3("Velg arrangement: "), popup_menu(-name=>'arrangement', -values=>\@arrangement), $q->hr, $q->submit(-name=>'velgarrangement', -value=>'Velg'), $q->end_html; my $button = \$buttonVelgArrangement; $button = $q->param('velgarrangement'); } sub Registrer { print $q->header, $q->start_html('Registrering'), $q->startform(), $q->textfield(-name=>'navn', -default=>'Ola Nordmann', -size=>35, -maxlength=>50), $q->textfield(-name=>'epost', -default=>'Ola\@nordmann.no', -size=>50, -maxlength=>50), $q->endform, $q->p,h1('Du valgte: '), $q->param('arrangement'), $q->submit(-name=>'registrer', value=>'Registrer'), $q->end_html; My $button = \$buttonRegistrer; $button = $q->param('registrer'); } ## I haven't done FerdigRegistrering(), since this submit-experimenting ## didn't work. --END OF CODE -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]