0

我正在使用 web.py 框架来创建小型网页。我有一个基本的 html,它有一个带有四个复选框字段的表单,如下所示

主页.html

$def with ( )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Home</title>
</head>
 <body>
   <form method="POST" action="/checkboxes">
      <p>check_1     <input type="checkbox" id="curly_1" value="" name="curly_1"/></p>
      <p>check_2     <input type="checkbox" id="curly_2" value="" name="curly_2"/></p>  
      <p>check_3     <input type="checkbox" id="curly_3" value="" name="curly_3"/></p>  
      <p>check_4     <input type="checkbox" id="curly_4" value="" name="curly_4"/></p>      
      <button id="submit" name="submit">Submit</button>
   </form>
 </body>
</html>

索引.py

import os
import sys
import web
from web import form

render = web.template.render('templates/')


urls = (
  '/checkboxes',   'Checkboxes',  
)
app = web.application(urls, globals())

class Checkboxes:

    def POST(self):
        i = web.input(groups = {})
        print i,">>>>>>>>>>>>"
        raise web.seeother('/checkboxes')

if __name__ == "__main__":
    web.internalerror = web.debugerror
    app.run()  

结果:

<Storage {'curly_3': u'', 'submit': u'', 'curly_4': u'', 'curly_1': u'', 'groups': [], 'curly_2': u''}> >>>>>>>>>>>>

所以从 html 视图中我可以看到四个checkbox字段,我检查了所有复选框并单击了提交按钮,现在它应该进入Checkboxes课堂并应该在 post 方法中打印输入的结果(选中的复选框),如我上面所示.

但结果我得到空字符串(无结果),如上所示,

谁能告诉我上面的代码有什么问题

另外如何获取选中的复选框的值?

4

2 回答 2

1

web.input() 返回的字典中存在复选框元素的名称表示该字段已被选中。否则,它不会出现在字典中。尝试检查表单上四个复选框的子集,我想你会明白我的意思。

更多详情:https ://groups.google.com/forum/#!searchin/webpy/checkbox/webpy/PVBdPv7kGDM/IqgLptUEN-EJ

于 2012-11-15T07:07:03.537 回答
1

如果您只需要选中或未选中所有复选框值,则可以像 ajax 调用一样处理它。对于此更改输入类型提交到按钮。然后选中所有输入复选框并将其值填充到 json 中。然后它的值检索您的控制器发布方法。

于 2013-03-07T11:01:46.960 回答