perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 21
Click for quality!




11.02.2012 / 06:59

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragchechboxen
Seitenanfang
bei stefan münz (self html) habe ich gefunden:

Alle Checkboxen, die den gleichen Namen haben, gehören zu einer Gruppe, d.h. von diesen Elementen kann der Anwender keines, eines oder mehrere ankreuzen...
Mit dem Attribut value bestimmen Sie einen internen Bezeichnerwert für jede Checkbox. Wenn der Anwender das Formular abschickt, werden die Bezeichnerwerte des oder der angekreuzten Buttons übertragen.

bei mir wird jeweils nur der 1. wert der checkbox mit dem selben namen aus dem perlscript heraus in eine datei geschrieben. was ist da falsch?

nun könnte ich freilich jeder checkbox einen neuen namen geben und dann mehrere variablen in die datei schreiben lassen. aber das will ich nicht, sondern ich will alle werte der checkboxgruppe in einer variablen haben.

danke im voraus für eine rasche antwort.

helmut

Datum: 22.06.2007-16:32

Beitragre: chechboxen
Seitenanfang
Du gibst ja leider nichts an Perl- und HTML-Quellcode mit an, also kann man nur vermuten. Ich gehe davon aus du verwendest das CGI-Modul, und holst die Checkboxwerte mit param(), z.Bsp. so:

my $colors = $cgi->param('colors');
print $colors, "\n"; # gibt nur 'red' aus

In diesen Fall liefert dir param() nur einen Wert, keinen String mit allen Werten oder Aehnliches. Um alle Werte zu erhalten, muss param() im Listenkontext aufgerufen werden.

my(@colors) = $cgi->param('colors');
print "@colors\n"; # gibt 'red green blue' aus

Wenn du die Werte alle in einen String brauchst, musst du sie zusammenfuehren


my $colors = join ', ' => $cgi->param('colors');
print "$colors\n"; # gibt 'red, green, blue' aus


#!/usr/bin/perl

use strict;
use warnings;

use CGI qw();

my $cgi = CGI->new;
print $cgi->header();

print $cgi->start_html;

if(my @colors = $cgi->param('colors')) {
foreach my $color (@colors) {
print "'$color'\n", $cgi->br;
}
}

print $cgi->start_form(),
$cgi->checkbox_group(-name => 'colors',
-values => [ 'red', 'blue', 'green' ],
-defaults => [ 'blue' ]),
$cgi->submit,
$cgi->end_form;

$cgi->end_html;

Wenn das nicht hilft ..., mehr Code bitte.

Datum: 22.06.2007-17:04

Beitragre: chechboxen
Seitenanfang
danke.
helmut

Datum: 23.06.2007-07:56

-






-
-