2015-11-08 14 views
0

我有一个HTML页面,用户可以在其中添加任意数量的行到一个表中,我想请求我的代码中的这些元素在一些计算中使用它们。现在,如果我知道这个领域的“name”属性我能得到这样的:如何从App Engine中的python代码请求未知数量的字段?

class MyHandler(handler): 
    def get(self): 
     #Render the page. 
    def post(self): 
     my_variable = self.request.get('name') 
     #So my_variable is equal to what the user entered. 

的问题是,我不知道提前多少场会出现,因为用户可能将“n”行添加到表中。如果我能把每一列作为一个列表,那将是最好的。 HTML代码可能看起来是这样的:

<table> 
    <tr> 
    <th>A</th> 
    <th>B</th> 
    <th>C</th> 
    </tr> 
    <tr> 
    <td>a.1</td> 
    <td>b.1</td> 
    <td>c.1</td> 
    </tr> 
    <!-- More rows --> 
</table> 

编辑: 我的可能是如何工作的jsbin了一个小例子: http://jsbin.com/cejijag/edit?html,js,output

+0

这是不是真的很清楚。用户如何在这里添加字段?也许你应该显示输入表单。 –

+0

这只是一个带有按钮的表格,它使用Javascript为其添加一行。 –

回答

0

如果你只是添加多个值相同name场,您可以通过self.request.getall('name')以列表形式获取该字段的所有数据。

+0

我想如果我将表中的每一行(不是列)都有一个名称,那么这是否意味着我需要多个.get_all()语句? –

+0

这就是为什么我问你如何添加字段。为什么你会为每一行命名? –

+0

我不知道,我还在学习这个。如果我不标记每一行,我怎样才能得到这些值而不会丢失什么是什么?如果有更好的方法去做,你能告诉我怎么做? –

0

使用self.request.params,像这样:

for param_name, param_value in self.request.params.items(): 
    print '{0} = {1}'.format(param_name, param_value) 
+0

您能否解释一下它将如何工作?如果有一种方法可以将整列作为列表进行捕获(参见编辑中的示例),那将非常棒。 –

+0

如Daniel在他的回答中所说,如果你想以数组的形式检索数据,可以使用self.request.getall('name')。真的,你只需要试验这两种方法,看看什么对你有用。这是学习imho的最佳方式 –

+0

我对此有点困惑,但我会继续尝试用他的答案,谢谢。 –

相关问题