2017-04-21 70 views
0

當用戶第一次加載頁面時,我使用HTML,Flask和MYSQL來填充表格。該表顯示了所有行以及複選框,當用戶按下提交按鈕時,我得到了被檢查的行。請求表單時的Unicode問題

當前HTML代碼

{% for row in data %} 
<tr> 
     <td><input type="checkbox" name="inputSelect" value="{{ row[0], row[3] }}"></td> 
     <td>{{ row[0] }}</td> 
     <td>{{ row[1] }}</td> 
     <td>{{ row[2] }}</td> 
     <td>{{ row[3] }}</td> 
</tr> 
{% endfor %} 

然而,當我嘗試request.form['InputSelect']燒瓶上側,只給了我,即使我點擊超過一個複選框一個結果。

什麼是創建表,這樣,當我點擊多個複選框,我可以用request.form['InputSelect']

+0

你所有的複選框具有相同的名稱: 「inputSelect」。你應該給每個人一個不同的名字。 –

+0

難道這樣不容易解析嗎?如果用戶檢查10個框,那麼我必須單獨解析它們? – user1883614

回答

1

瓶使用MultiDict看到它們的最好方法。要獲取給定密鑰的項目列表,可以使用getlist()方法。

試試這個:

value = request.form.getlist('InputSelect') 
+0

謝謝,這對我有用! – user1883614

+0

這似乎返回一個Unicode - 有無論如何,我可以將其轉換成適當的元組,因爲我正在處理字符串和dateTime對象? – user1883614