Как да получите стойност на javascript променлива в python променлива в Python-CGI скрипт

Искам да взема стойността на променливата на javascript в променливата на python.

Това е Python-CGI скрипт, който показва поле за избор и избраната стойност се появява на страницата. Но искам да взема избрана стойност в променлива на python.

#!/usr/bin/python2.7 -u
import time, sys, os

# Import modules for CGI handling
import cgi, cgitb

sys.stdout.write('Content-Type: text/html;charset=utf-8\n')
print "\n\n"
print "<html>"
print "<body>"

rows = ['1.1.1.1', '2.2.2.2', '3.3.3.3']
print "<script>"
print "function showData() {"
print "var sel = document.getElementById('combo');"
print "var value = sel.value;"
print "var text = sel.options[sel.selectedIndex].text;"
print "document.getElementById('secondP').innerHTML=text;}"
print "</script>"

print '<form name="comboform">'
print '<select name="comboselect" onchange="showData()" id="combo">'
for row in rows:
    print "<option value='%s'>%s</option>"%(row,row)
print "</select>"
print "</form>"

print '<p id="secondP">&nbsp;</p>'

# HERE I WANT TO TAKE VALUE OF SELECTED IP ADDRESS (var value) IN PYTHON VARIABLE
# selected_ip_adr = value #something like this where value has selected ip address
# NEED TO PASS THE SAME TO ANOTHER SCRIPT

sys.stdout.flush()
print "</body>"
print "</html>"

Би било чудесно, ако някой може да предложи решение за постигане на това.


person Community    schedule 21.12.2016    source източник
comment
Javascript работи на клиента, CGI работи на сървъра.   -  person Barmar    schedule 22.12.2016
comment
@ Barmar, това означава ли, че няма начин да получите тази стойност на променливата в javascript в променливата на python?   -  person    schedule 22.12.2016
comment
Можете да използвате AJAX, за да го изпратите на друг скрипт.   -  person Barmar    schedule 22.12.2016
comment
За информация, sel.options[sel.selectedIndex].value може да се опрости само до sel.value.   -  person Barmar    schedule 22.12.2016
comment
И никога не задавате променливата text.   -  person Barmar    schedule 22.12.2016
comment
Когато изпратите формуляра, избраният IP ще бъде в cgi.FieldStorage['comboselect']   -  person Barmar    schedule 22.12.2016
comment
Не съм запазил бутона за изпращане, за да избегна множество страници. Редактира въпроса с предложените от вас промени.   -  person    schedule 22.12.2016
comment
Ако не искате да презареждате страницата, трябва да използвате AJAX.   -  person Barmar    schedule 22.12.2016
comment
Не съм наясно с AJAX, можете ли да ме насочите по-нататък как мога да направя това с AJAX? Благодаря!   -  person    schedule 22.12.2016


Отговори (1)


Успях да го разреша със следния код и няколко страници:

# Create instance of FieldStorage
form = cgi.FieldStorage()
op = form.getvalue('combo')
person Community    schedule 05.01.2017