Python CGI脚本:带有两个提交按钮的基本HTML表单

时间:2011-07-25 11:52:44

标签: python html cgi

我有一个基本的html表单,我想用两个提交按钮。 CGI脚本获取表单值并对其进行处理(无论使用哪个提交按钮),但我希望每个按钮在脚本后面与不同的操作相关联,即打印不同的输出:

##  Get the form value in the usual way.
form = cgi.FieldStorage()
RawSearchTerm = form.getvalue("QUERY")

##  Process the form info etc.

if (button1 was pressed):
    print this
elif (button2 was pressed):
    print this other thing

任何想法都表示赞赏,谢谢。

1 个答案:

答案 0 :(得分:5)

<input type="submit" value="Submit" name="Submit1" />
<input type="submit" value="Submit" name="Submit2" />

根据按下的提交按钮,这将在表单数据中为您提供不同的名称。

你可以做到

form = cgi.FieldStorage()

if "Submit1" in form:
    button = 1
elif "Submit2" in form:
    button = 2
else:
    print "Couldn't determine which button was pressed."

因为表单的行为类似于Python dict,您可以检查其中是否包含给定名称。它应该包含所有发送的表单实体的名称,因此,如果有一个字段和两个提交按钮,它应该包含表单字段的名称和按下提交按钮的名称