Leser: 3
|< 1 2 >| | 15 Einträge, 2 Seiten |
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
#!C:\perl\bin\perl.exe
##!/usr/bin/perl -w
use strict;
use warnings;
use CGI qw(param);
use CGI::Carp qw(fatalsToBrowser);
$CGI::DISABLE_UPLOADS = 1;
print "Content-type: text/html\n\n";
my $auswahl = param('dateien');
my $dateiname;
print <<END;
<html><head>
<title>Test</title>
</head><body>
END
my $dir = "C:/xampp/cgi-bin";
print "<form action=\"\" method=\"post\">";
print "<select name=\"dateien\">";
opendir(DIR, "$dir") or die("Fehler beim Öffnen: $!");
while ( defined($dateiname = readdir(DIR)) ) {
next if ($dateiname !~ m/\.dat$/);
print '<option>'.$dateiname.'</option>', "<br>\n";
}
closedir(DIR) or die("Fehler beim Schließen: $!");
print <<END;
</select>
<input type="submit" value="Senden"> <br/>
<input tpye="text" name="data" value="$auswahl">
</form></body></html>
END
print '<option>'.$dateiname.'</option>', "<br>\n";
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
use strict;
use warnings;
use Template;
use CGI qw(param);
use CGI::Carp qw(fatalsToBrowser);
$CGI::DISABLE_UPLOADS = 1;
my $auswahl = param('dateien');
my $dateiname;
my $dir = "C:/xampp/cgi-bin";
opendir(DIR, "$dir") or die("Fehler beim Öffnen: $!");
my @dateien = grep /\.dat$/, readdir(DIR);
closedir(DIR) or die("Fehler beim Schließen: $!");
print "Content-type: text/html\n\n";
my $t = Template->new();
$t->process(\*DATA, { dateien => \@dateien, auswahl => $auswahl });
__END__
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="" method="post">
<select name="dateien">
[% FOREACH name = dateien %]
<option value="[% name %]">[% name %]</option>
[% END %]
</select>
<input type="submit" value="Senden">
[% IF auswahl %]
<input type="text" name="data" value="[% auswahl %]">
[% END %]
</form>
</body>
</html>
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
#!/usr/bin/perl use strict; use warnings; package Widget::Select; use Moose; use Data::Dumper; has 'tuple' => (is => 'rw'); # ID, Text, ... has 'name' => (is => 'rw'); has 'selection' => (is => 'rw'); sub set_tuple { my $self = shift; $self->{tuple} = [@_] if @_ % 2 == 0; } sub as_form { my $self = shift; my @l = @{$self->{tuple}}; # non destructive my $o = '<select name="' . $self->name . "\">\n"; while (my ($k, $v) = splice @l, 0, 2) { $o .= ($k == $self->selection) ? '<option selected value="'. $k .'">'. $v .'</option>'."\n" : '<option value="'. $k .'">'. $v .'</option>'."\n"; } $o .= '</select>' . "\n"; return $o; } 1;
1 2
my $wdgt_people = Widget::Select->new(name => 'sel_people'); $wdgt_people->set_tuple( 1, 'Jack', 2, 'Joe' ); # easier using a database-query
1 2 3 4
print $q->header, $q->start_html, $q->h1('foo'), $q->start_form, $wdgt->as_form, $q->hr, $q->submit(-name => "action", -value => "submit"), $q->end_form, $q->end_html;
QuoteIch weiß zwar nicht warum du in deinem Beispiel <input> benötigst um den Dateinamen anzuzeigen, aber du wirst es schon wissen
QuoteHTML::Template::Compiled
QuoteUnd wenn du dir was gutes tun möchtest, dann versuche nicht HTML::Template zu verwenden.
QuoteIch weiß zwar nicht warum du in deinem Beispiel <input> benötigst um den Dateinamen anzuzeigen, aber du wirst es schon wissen
1
2
3
4
5
6
print <<END;
</select>
<input type="submit" value="Senden"> <br/>
<input tpye="text" name="data" value="$auswahl">
</form></body></html>
END
1
2
3
4
5
6
7
print <<END;
</select>
<input type="submit" value="Senden"> <br/>
$auswahl
<input type="hidden" value="$auswahl">
</form></body></html>
END
QuoteQuoteHTML::Template::Compiled
Muss ich mir erstmal genau ansehen.
Quote[/quote]Und wenn du dir was gutes tun möchtest, dann versuche nicht HTML::Template zu verwenden.
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 44
#!/usr/bin/perl use strict; use warnings; use HTML::Template::Compiled; use CGI qw(param); use CGI::Carp qw(fatalsToBrowser); $CGI::DISABLE_UPLOADS = 1; my $auswahl = param('dateien'); my $dateiname; my $dir = "."; opendir(DIR, "$dir") or die("Fehler beim Öffnen: $!"); my @dateien = grep /\.dat$/, readdir(DIR); closedir(DIR) or die("Fehler beim Schließen: $!"); print CGI::header(); my $t = HTML::Template::Compiled->new( filehandle => *DATA); $t->param(dateien => \@dateien, auswahl => $auswahl); print $t->output; __DATA__ <html> <head> <title>Test</title> </head> <body> <form action="" method="post"> <select name="dateien"> <TMPL_LOOP NAME=dateien> <option value="<TMPL_VAR _ >"><TMPL_VAR _ ></option> </TMPL_LOOP> </select> <input type="submit" value="Senden"> <TMPL_IF auswahl> <input type="text" name="data" value="<TMPL_VAR auswahl>"> </TMPL_IF> </form> </body> </html>
|< 1 2 >| | 15 Einträge, 2 Seiten |