Python CGI Script: базовая форма HTML с двумя кнопками отправки - PullRequest
5 голосов
/ 25 июля 2011

У меня есть базовая 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 Ответ

5 голосов
/ 25 июля 2011
<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, и вы можете проверить, есть ли в ней заданное имя. Он должен содержать имена всех отправленных объектов формы, поэтому с одним полем и двумя кнопками отправки он должен содержать имя поля формы и имя кнопки , которая была нажата .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...