post 时无法获取多 select 字段名称(别无选择)
can't get multi-select field name when post (no choice)
html:
<form method="post">{% module xsrf_form_html() %}
<input name="username" type="text">
<select name="ss" multiple>
<option value="1">hello</option>
<option value="2">word</option>
</select>
<button type="submit">提交</button>
</form>
龙卷风:
class TestMultiSelectEmptyPost(BaseHandler):
def get(self, *args, **kwargs):
self.render('multi-select-empty-post.html')
def post(self, *args, **kwargs):
print self.request.arguments
浏览器:
enter image description here
服务器return:
{'username': ['aaaa'], '_xsrf': ['xxx|xxx|xxx|xxx']}
multi-select 字段名称 "ss" 缺失
要确定用户是否选择了 none 个选项,请执行:
ss = self.request.arguments.get("ss")
get
方法returnsNone
如果没有值。所以,
if ss is None:
print("User selected nothing")
else:
print("ss = %s" % ss)
我建议使用 get_argument
方法而不是解析 request.arguments
。
html:
<form method="post">{% module xsrf_form_html() %}
<input name="username" type="text">
<select name="ss" multiple>
<option value="1">hello</option>
<option value="2">word</option>
</select>
<button type="submit">提交</button>
</form>
龙卷风:
class TestMultiSelectEmptyPost(BaseHandler):
def get(self, *args, **kwargs):
self.render('multi-select-empty-post.html')
def post(self, *args, **kwargs):
print self.request.arguments
浏览器: enter image description here
服务器return:
{'username': ['aaaa'], '_xsrf': ['xxx|xxx|xxx|xxx']}
multi-select 字段名称 "ss" 缺失
要确定用户是否选择了 none 个选项,请执行:
ss = self.request.arguments.get("ss")
get
方法returnsNone
如果没有值。所以,
if ss is None:
print("User selected nothing")
else:
print("ss = %s" % ss)
我建议使用 get_argument
方法而不是解析 request.arguments
。