find data Ответов: 1

Отправить значение кнопки не удается?


----------
В приведенном ниже скрипте я попытался передать значения в кнопке submit с помощью perl cgi.Но в моем случае это не удается.Заранее спасибо за любую помощь.

Вещи, которые я проверил :

В браузере я обнаружил, что кнопка submit не загружает значение, которое я передал.Вместо этого он показывает значение как submit.

http://ad.sd.anog.com/cas/dev/rard/1an/bin/rsdb.cgi?popup1=landlord&submit=отправить

Для вашей справки:

мой сайт = (
Place1 => [ qw(place1) ],
Place2 => [ qw(place2) ],
Place3 => [ qw(place3) ],
Place4 => [ qw(place4) ],
);

Ожидаемая вещь в браузере:

http://ad.sd.anog.com/cas/dev/rard/1an/bin/rsdb.cgi?popup1=landlord&submit=place2

Что я уже пробовал:

Code which i had tried:

    #!/usr/local/bin/perl -wT
    use CGI qw/:standard/;
    use strict;
    use CGI;
    my $action;
    print start_form(-method=>'GET',-action=>$action);
    print " <br>  Site  ";
    print popup_menu(
           -name    => 'popup1',
           -method => 'GET',
            -values=>[sort keys %site],
             );
    print "           ";
    
    print submit(-name=>'submit',-values=>"place2");
    print end_form;
    
    if(submit eq 'submit')
    {
    $action="rsdb.cgi";
    }

1 Ответов

Рейтинг:
0

Jochen Arndt

Отправленные значения не могут быть прочитаны до тех пор, пока форма не будет отправлена и вы не проверите значение "отправить", но передадите "place2", чтобы if условие никогда не бывает истинным и $action будет пустой.

Воспользуйся param() вместо этого, чтобы проверить значение кнопок отправки:

if (param('submit') eq 'place2')
{
    $action="rsdb.cgi";
}