2013-05-20 17 views
0

使用App Engine(Python),我試圖從HTML表單中的選擇控件的變量數組中POST值。每個選擇控件都與一些關於用戶評分的文字配對。App Engine(Python) - 從HTML控制數組發佈回覆

例如, 「1-5評定這些水果(1至少5最好)」,向用戶呈現與動態形式等 -

<> Apple 

<> Bananas 

<> Cherries 

其中<>代表HTML選擇控制(命名爲「fruit_value」),他們可以爲每個水果選擇1,2,3,4或5。

我可以通過返回的POST各選擇控件的值:

fruit_value = self.request.POST.getall('fruit_value') 

    for fruit_value_score in zip(fruit_value): 
     print '%s<br />' % (fruit_value_score) 

但是我怎麼知道哪些水果在陣列中被拿下?我想將與選擇控件匹配的文本返回給服務器端。我試圖將HTML文本轉換爲一個命名標籤數組,但它們似乎並沒有在POST中傳遞它們的值。我也嘗試了一個隱藏的txt控件,但我似乎無法在我的頁面構建時在for..loop內動態設置值參數。我也嘗試將水果名稱放入禁用的txt框的數組中,但這會使得該值在代碼中無法通過(否則在不禁用時會通過)

我在這裏丟失了一些明顯的東西物品被打分?)

非常感謝提前。

+0

不,更清楚的是,這些值是用戶在下拉菜單中選擇的內容,以排列他們喜歡每種水果的形式。所以5 =愛它,1 =討厭它,等等。 – user2402893

回答

0

嗯,是的,你錯過了一些明顯的東西:他們需要單獨的名字。你不能稱他們都是一樣的東西,然後期望區分它們。您需要<select name="apple_value"><select name="banana_value">,依此類推。

+0

謝謝你的回答。我的問題是表單是動態的,在構建頁面時爲每個選擇控件賦予一個唯一的名稱值是否可行?如果我正在使用,例如,選擇和文本框在一起,我的代碼會很好,我不需要唯一命名的控件。 Thx再次。 – user2402893

+0

我不知道你的意思。如果你有一個選擇和一個文本框,你仍然不能分辨它們之間的區別,除了你知道選擇只有值1-5和文本框可以有任何東西。但是如果有人在文本框中輸入'1'並從選擇中選擇2,那麼您不會知道。我也不明白爲什麼動態構建頁面意味着你不能給它們唯一的名稱:如果你足夠了解它們給它們的唯一標籤,你可以給它們唯一的名稱(你甚至可以使用標籤文本作爲名稱的一部分)。 –

+0

好的,謝謝,我沒有很好地解釋我的挑戰,但基於您的反饋我有一個新的解決方案。最初的想法是使用上面的代碼將所有響應作爲zip中的一組鍵值對分析,並將它們存儲在數據庫中。 – user2402893