Perl (および Dancer) と HTML を使用してフォームを作成しています。私のフォームには、次のようなフィールドがいくつかあります。
<input type="text" name="keywords" id="keywords" value="<% keywords | html %>"/>
<select multiple="multiple" id="sentences" name="sentences" size="3"/>
<% IF list_of_sentences %>
<% FOREACH sentence IN list_of_sentences %>
<option value=<% sentence %>/>
<% END %>
<% END %>
</select>
もちろん、これらは独自の部門内にあり、さらに多くのコードがありますが、これらは私が持っているものの本質です。
これらはmain.tt
usingmyApp.pm
と相互作用する場所であり、前後に渡されるパラメーターがあります (例: keywords
and list_of_sentences
here)。コードは 2 つの div で設定されています。1 つはフォームで、もう 1 つは純粋に出力を表示するためのものです。フォームが送信されると、出力は正しく表示されますが、選択フィールドの選択は保持されません。
したがって、私がやりたいことは、「複数選択」から選択された選択が選択されたままになるようにすることです。
例として、「入力」キーワード フィールドでは、 using を使用してファイルから値が返されたため、値が保持されてい.pm
ます。これは、html コードで機能します。を使用して複数選択に対して同じことを試みましたが、これは空白のフィールドを返します。param("keywords")
template 'main' ...
value="<% keywords | html %>"
param("sentences")
問題の推測を危険にさらすのは、複数のオプションがあり、おそらく.pm
最初にファイルからオプションを取得しているためですが、まだ解決策が見つからないため、どんな助けも歓迎します。