【发布时间】:2011-09-06 22:10:46
【问题描述】:
所以我的问题是,如何在提交此特定表单时获取表单值作为列表:
<form action="/foobar" method="post">
<input type="text" value="text 1" name="text[key_1]" />
<input type="text" value="text 2" name="text[key_2]" />
<input type="text" value="text 3" name="text[key_3]" />
<input type="text" value="text 4" name="text[key_4]" />
</form>
目前,您无法使用 self.request.get('text') 或 self.request.get_all('text') 将所有这些值作为 dict / touple / list 获取,因为这仅在您准确指定 self 时才有效。 request.get('text[key_1]')。
你可以做这种类型的表格:
<form action="/foobar" method="post">
<input type="text" value="text 1" name="text" />
<input type="text" value="text 2" name="text" />
<input type="text" value="text 3" name="text" />
<input type="text" value="text 4" name="text" />
</form>
texts = self.request.get_all('text') // 你会得到 texts = ['text 1', 'text 2', 'text 3', 'text 4']
但就像我说的,我需要键/对表单值
【问题讨论】:
-
x[y]在表单中是一个相当奇怪的 PHP 约定。你最好选择更适合自己解析的东西。或者更好的是,只使用不同的名称,这就是命名字段的意义所在。