2016-08-09 34 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

這只是一個片段。那已經在那裏了。我得到了它的工作,但感謝您花時間發佈回覆。 –