Thread HTML::Form ein <select> hinzufügen
(19 answers)
Opened by bianca at 2023-07-21 12:04 2023-07-22T14:12:58 bianca Dass ![]() Einerseits: Für Deinen Anwendungsfall verstehe ich nicht, wofür Du die Alternativen im menu brauchst. An den Server wird der Typ select nicht geschickt, der bekommt nur die Name=Wert-Paare für die Optionen, die ausgewählt wurden, und es ist völlig egal, welche Optionen es sonst noch gegeben hätte. Du solltest also das gleiche Ergebnis im Request erzielen, wenn Du den Input als text deklarierst. Andererseits: Es geht, wenn Du für den ausgewählten Wert den Namen und den Wert angibst. Ich habe hier ![]() Code (perl): (dl
)
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 45 46 47 48 49 50 51 #!/usr/bin/perl use strict; use warnings; use Data::Dump 'dump'; use HTML::Form; use 5.010; my $html = <<HTMLHEREDOC <html> <head></head> <body> <div>Ausgabe:</div> <form action="http://www.perl-community.de" method="post"> <select name="fname"> <option value="wert1">Anzeige1</option> <option value="wert2">Anzeige2</option> <option value="wert3">Anzeige3</option> <option value="wert4" selected>Anzeige4</option> <option value="wert5">Anzeige5</option> </select> </form> </body> HTMLHEREDOC ; my @forms = HTML::Form->parse($html,'http://www.perl-community.de'); say dump $forms[0]->click; my %tmp = ( name => 'selname', menu => [ { name => 'Zusanzeige1', value => 'zuswert1' }, { name => 'Zusanzeige2', value => 'zuswert2' }, { name => 'Zusanzeige3', value => 'zuswert3' }, ], value_name => 'Zusanzeige1', value => 'zuswert1', checked => 1, ); $forms[0]->push_input('option',{%tmp}); say dump $forms[0]->click; Ausgabe: Code: (dl
)
1 bless({ |