Jemand zu Hause?
1 2 3 4 5 6
while((my $wert) = $select->fetchrow_array) { print "<td>$wert</td>"; print "<td><input type='submit' name='btn_loeschen${i}' value='loeschen'</td>"; $i++; }
1 2
if(($ENV{REQUEST_METHOD}) eq "POST") { print "einer der Button wurde gedrueckt!";}
1
2
3
<button type="submit" name="foo" value="1">Test</button>
<button type="submit" name="foo" value="2">Test</button>
<button type="submit" name="foo" value="3">Test</button>
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem1 2 3 4 5 6 7 8 9 10
if ($self->is_post) { %submits = map { if (m/^submit\.(.*?)(?:\.x|\.y)?$/) { my $value = $cgi->param($_); ($1 => $value) } else { () } } $cgi->param(); } $self->set_submit(\%submits);
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
use warnings; use CGI; my $cgi=CGI->new(); my $script_name=$ENV{SCRIPT_NAME} || $0; my $buttons=5; my $action=$cgi->param('action') || 'show'; if($action eq 'select') { my $selected=0; for my $i (1..$buttons) { $selected=$i if($cgi->param("button_$i")); } print $cgi->header(); print <<EOHTML; <html><head><title>DEMO</title></head><body> <h1>DEMO ERGEBNIS</h1> <p>Augewält wurde: $selected</p> <a href="$script_name">zur Selektion</a> </body></html> EOHTML } else { print $cgi->header(); print <<EOHTML; <html><head><title>DEMO</title></head><body> <h1>DEMO</h1> <p><form action="$script_name" type="post"> <input type="hidden" name="action" value="select"> EOHTML for my $i (1..$buttons) { print qq( <input type="submit" name="button_$i" value="Button $i"><br>\n); } print <<'EOHTML'; </form></p> </body></html> EOHTML }
$PARAM = array_merge($_GET, $_POST);
1 2 3 4 5 6 7
my $submit = 0; # oder anderer default-wert for my $i (1 .. $max) { if ($cgi->param("button$i")) { $submit = $i; last; } }
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem2013-03-21T11:41:26 anamollo4musicWie aber kann ich nun ein Ereignis auslösen, wenn irgendeiner dieser Button gedrückt wurde. Irgendwie muss ich ja abfangen, ob jemand einen der Buttons gedrückt hat?
Ich habe es nun mit folgendem versucht:
Code (perl): (dl )1 2if(($ENV{REQUEST_METHOD}) eq "POST") { print "einer der Button wurde gedrueckt!";}
um herauszufinden "ob" ein Button geklickt wurde. Dies funktioniert auch.
Allerdings weiß ich noch immer nicht "welcher" dieser Buttons.
QuoteWenn ich nämlich in die if-Anweisung eine while(cgi->param($name)) mit dem jeweiligen Buttonnamen schreibe, ist das Ereignis ja schon wieder weg, bevor es in der Schleife abgefragt werden konnte...