Как получить выбранное значение из раскрывающегося списка в Perl CGI

Я заполняю выпадающее меню из базы данных. И когда я отправляю форму, я получаю пустую строку в выбранной опции. Вот мой код, любая помощь будет оценена по достоинству. Я выбрал первый вариант по умолчанию любой помощи.

print "<br>Name: <select>";
while ( my ($name) = fetchrow_array() ) {
    if ($name eq "Somethinge") {
        print "<option value=\"$name\" selected>" . $name . "</option>\n";
    }else {
        print "<option value=\"$name\">" . $name . "</option>\n";
        }
}
print "</select>";

Я получаю значение, используя приведенное ниже, но оно возвращается пустым, что бы я ни выбрал.

my $Name = param('name');

person mysteriousboy    schedule 26.02.2013    source источник


Ответы (1)


Вам не хватает name="client_name" в теге select.

Вам, вероятно, следует экранировать имя клиента в атрибуте value (хотя для United Dynacare это не обязательно). Использование библиотеки для создания вашего HTML (например, CGI) помог с обоими этими вещами.

person ysth    schedule 26.02.2013
comment
Можете ли вы немного объяснить, как использовать библиотеку для генерации html, так как она очень медленная. Чтобы заполнить 1000 вариантов, мне потребовалось более 1 минуты. - person mysteriousboy; 26.02.2013
comment
это довольно странно. Можете ли вы начать новый вопрос для этого, показывая, что вы делаете, и объясняя, что вы хотите получить на выходе? - person ysth; 26.02.2013