-1

CGI スクリプトから次のエラーが表示されます。

my_circle.pl: [FormBuilder] 警告: メトロ: /home/ecoopr/ecoopr.com/CPAN/CGI/FormBuilder.pm 1407 行目の 'select' フィールドにオプションが指定されていません。リファラー: http://kkarnam.ecoopr.dyndns .org:880/home.pl

何が問題なのか教えていただけますか?

4

2 に答える 2

1

エラーメッセージに示されているようにselect、オプションを指定せずにフォームウィジェットを作成しようとしている可能性があります。

CGI::FormBuilderのその部分をトリガーしているものを見つけてください。Carp :: Alwaysのようなものを使用して、すべてのエラーと警告をスタックトレースに変換し、問題を開始したコード行に戻ることができます。

関連するコードは、prepareメソッド内の匿名ハッシュ構造です。これは、次のオプションを提供することを期待しているように見えますselect

1406         # Create a struct for each field
1407         $tmplvar{field}{"$field"} = {
1408              %$field,   # gets invalid/missing/required
1409              field   => $field->tag,
1410              value   => $value[0],
1411              values  => \@value,
1412              options => [$field->options],
1413              label   => $field->label,
1414              type    => $field->type,
1415              comment => $field->comment,
1416              nameopts => $field->nameopts,
1417              cleanopts => $field->cleanopts,
1418         };
于 2010-03-30T17:37:37.120 に答える
0

選択用にいくつかのオプションが定義されていることを確認してください。
たとえば、次のフォーム フィールド定義を考えてみましょう。

$form->field(
    name     => 'dept_id',
    label    => 'Dept',
    type     => 'select',
    options  => \@dept_options,
    required => 1,
);

@dept_options 配列が空の場合、CGI::FormBuilder警告が発行されます。

于 2010-03-30T20:46:49.000 に答える