我有一系列HTML表单输入以实现
的效果<input type="text" placeholder="Top bugs" name="top_bugs" id="input_1">
我检索此数据并使用
直接加载到dict中dict(request.form)
这样做给我的键/值为{top_bugs : value}
。但是我想知道如何检索id
。我不希望id加载到dict中,但想以某种方式检索它,理想情况下将其转换为不同的dict。
有没有一种方法可以使用request.form(或通过不同的方法)从表单输入中检索更多名称和值?
答案 0 :(得分:1)
只有表单中每个元素的名称和值对才会传递给您的脚本。
我通常的做法是在发送之前将其打包(序列化)到名称中,然后在另一端进行反汇编,所以:
<input type="text" placeholder="Top bugs" name="top_bugs~input_1" id="input_1">
然后:
tdict=dict(request.form)
fdict={}
idict={}
for item in tdict.keys():
(name,id)=item.split("~",1)
fdict[name]=tdict[item]
idict[name]=id
这应该会给你字典fdict(名字=&gt;值)和idict(名字=&gt; id)。
我意识到这有点hackey;您可能还希望在提交表单时使用javascript将id附加到名称,而不是在表单创建时。
希望这有帮助
答案 1 :(得分:0)
简短的回答你不能。浏览器只发送字段的名称和值,无论方法如何。
答案 2 :(得分:0)
您还可以尝试定义隐藏元素:
cURL support enabled
cURL Information 7.41.0
Age 3
Features
AsynchDNS No
CharConv No
Debug No
GSS-Negotiate No
IDN Yes
IPv6 Yes
krb4 No
Largefile Yes
libz Yes
NTLM Yes
NTLMWB Yes
SPNEGO No
SSL Yes
SSPI No
TLS-SRP No
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp
Host x86_64-apple-darwin10.8.0
SSL Version OpenSSL/0.9.8zd
ZLib Version 1.2.8
然后你可以提取id值,找到名称为''_id'模式的元素作为名称。