我使用Perl(和舞者)與HTML創建窗體。在我的形式我有像這樣一些領域:如何將多個選擇框選擇傳遞迴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
,其被交互使用myApp.pm
和有被來回傳遞(例如keywords
list_of_sentences
和這裏)的參數。代碼設置了兩個div,一個用表單,另一個純粹用於顯示輸出。提交表單時,輸出顯示正確,但選擇字段選擇不會保留。
因此,我想要做的就是讓選中的'多重選擇'中的所選選項保持選中狀態。
舉個例子,在我的「輸入」關鍵字字段我有保留價值,因爲它已經通過從.pm
文件中使用template 'main' ...
使用param("keywords")
回來。這與HTML代碼中的value="<% keywords | html %>"
一起使用。 我試圖對使用param("sentences")
的多重選擇做同樣的事情,但是這會返回一個空白字段。
爲了避免這個問題的猜測,這是因爲有多個選項,也許是因爲我從.pm
文件中獲得了選項,但我還沒有找到解決方案,所以任何幫助都會受歡迎的。
仍與它擺弄周圍,但肯定似乎是在正確的軌道,乾杯! – dgBP 2013-03-04 16:47:16
我正在通過使用以下句子的結構: 模板'main',{句子=>(value => $ value,is_selected => 0 | 1)} '句子'是一個散列(ref),但是當我使用'sentence.value'它讀取像它是一個數組的元素。有什麼方式說'句子'是散列嗎?我想我已經在某處看到過'key'關鍵字,但是在網上找不到任何示例。 – dgBP 2013-03-05 09:21:33
@bladepanthera這部分取決於你正在使用的模板引擎。你定義了一個模板引擎來使用,還是你使用'Dancer :: Template :: Simple'?如果你不使用'set template =>'語句,那麼你使用'Simple'。 – Joel 2013-03-05 13:45:32