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>
1 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);
1 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; } }
2013-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...