2016-08-09 38 views
1

我正在尝试处理HTML表单输入。我有一个CGI文件,我想收集所有数据,包括复选框和单选按钮。我正在尝试使用cgi.FieldStorage,但有些东西不起作用。Python进程HTML/CGI表格输入

这里是什么,我试图做一个例子:

form = cgi.FieldStorage() 
name = form.getvalue('sensitivity') 
print name 

不过这回没有。这里是CGI文件的一个片段:

if config_settings.settings[5] == '1': 

    print'''<html><label class="checkbox inline control-label"><input name="aWeight" value="1" type="checkbox" checked/></html>''' 
else: 
    print'''<html><label class="checkbox inline control-label"><input name="aWeight" value="1" type="checkbox"/></html>''' 
print'''<html><span> A-Weight &nbsp;&nbsp;&nbsp;</span></label></html>''' 

这取决于XML标签的在另一个文件中的内容被设置为1或0。XML文件和Python的文件被精细工作一起设置的复选框。我试图达到的目标是在用户改变它们时从复选框中收集数据。

我有这个代码在我的CGI脚本的开头:

<form class="well form-inline" method="post" action="/cgi-bin/process_setup.py"> 

而我,虽然,这将让我来处理/收集从cgi.FieldStorage数据,但它似乎并没有被加工。有什么建议?

+0

请检查您所输入以下Python中的CGI:进口CGI,cgitb –

+0

@SnehalParmar你好,是的,我已经做到了,但它仍然不是为我工作。 –

回答

0

我认为你缺少这print ("Content-type:text/html\r\n\r\n")为Python 3,这print "Content-type:text/html\r\n\r\n"为Python 2

所以,你要防止用户更改复选框值? 如果有比这里是一个办法:

<label id='checky'><input type="checkbox" name="checky" onchange="changeCheck(this)" checked="" ></label> 
<script type="text/javascript"> 
function changeCheck (element) { 
    element.checked = !element.checked; 
} 
</script> 
+0

这只是一个片段。那已经在那里了。我得到了它的工作,但感谢您花时间发布回复。 –