【问题标题】:How to get all values of select with multiple choices on GAE-side?如何在 GAE 端通过多项选择获取 select 的所有值?
【发布时间】:2012-06-24 20:01:10
【问题描述】:

我在客户端选择如下:

<select multiple="multiple" id="reason" class="input-xlarge">
  <option value="001">reason1</option>
  <option value="002">reason2</option>
  <option value="003">reason3</option>
  <option value="004">reason4</option>
  <option value="005">reason5</option>
</select>

使用以下代码将数据发送到服务器:

var reason = $('#reason').val();
$.ajax({
  data: {'reason': reason},
  ...
});
...

在我做的服务器上:

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
arguments = self.request.arguments()
for argument in arguments:
    if self.request.get(argument):
        self.response.out.write(argument+': '+self.request.get(argument)+'<br>')

结果即使选择了几个原因,我也看到了:

reason[]: 002

如何选择所有值?

更新1。它们在请求中传递为:

reason%5B%5D=001&reason%5B%5D=002&reason%5B%5D=003&reason%5B%5D=004

【问题讨论】:

    标签: javascript jquery google-app-engine html-select


    【解决方案1】:

    好的,我可以使用下面的代码获得所有这些(感谢来自 gae irc 的 lericson):

    reasons = self.request.get_all('reason[]')
    for reason in reasons:
        logging.info(reason)
    

    但我不喜欢它,因为它假定在服务器端对字段值进行硬编码。因此,我修改了 javascript 以发送 reason.join() 而不仅仅是 reason

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-19
      • 2023-02-02
      • 2018-05-18
      • 2012-10-18
      • 2019-06-21
      • 1970-01-01
      • 2013-03-23
      • 2020-01-02
      相关资源
      最近更新 更多