切换低状态不会发送到 python cgi
Toggle low state won't be sent to python cgi
我正在尝试将 bootstrap 切换按钮的状态发送到 python cgi 脚本。当切换为真时它工作正常(python 脚本打印 "true")但是当为假时,python 脚本打印 "None" 就好像我尝试发送的输入值是空的.
console.log(tgl_state);
在两种情况下(true 和 false)打印切换状态都没有问题。
你能告诉我哪里错了吗?谢谢!
这是 html 代码:
<div style="display:block;">
<iframe id="python_result" name="python_result"></iframe>
</div>
<div>
<form id="tgleq" method="POST" action="/cgi-bin/radio_test.py" target="python_result">
<input id="toggle-event" type="checkbox" checked data-toggle="toggle" name="toggle-event" value="TOTO">
</form>
<script>
$(function() {
$('#toggle-event').change(function() {
tgl_state = $('#toggle-event').prop("checked")
console.log(tgl_state);
var toggle = document.getElementById("toggle-event");
toggle.value = tgl_state;
document.getElementById("tgleq").submit();
})
})
</script>
</div>
这里是 python 脚本 (radio_test.py),只是打印来自 Web 界面的内容:
#!/usr/bin/env python
import cgi
import cgitb
import socket
cgitb.enable()
print "Content-type: text/html\n\n"
form=cgi.FieldStorage()
arg1 = form.getvalue('toggle-event')
print arg1
这就是 HTML 表单的工作方式:如果未选中复选框,则其值不会在 POST 数据中发送。
不过这应该不是问题;它只是意味着 form.getvalue('toggle-event')
的结果是 "TOTO" 或 None.
我正在尝试将 bootstrap 切换按钮的状态发送到 python cgi 脚本。当切换为真时它工作正常(python 脚本打印 "true")但是当为假时,python 脚本打印 "None" 就好像我尝试发送的输入值是空的.
console.log(tgl_state);
在两种情况下(true 和 false)打印切换状态都没有问题。
你能告诉我哪里错了吗?谢谢!
这是 html 代码:
<div style="display:block;">
<iframe id="python_result" name="python_result"></iframe>
</div>
<div>
<form id="tgleq" method="POST" action="/cgi-bin/radio_test.py" target="python_result">
<input id="toggle-event" type="checkbox" checked data-toggle="toggle" name="toggle-event" value="TOTO">
</form>
<script>
$(function() {
$('#toggle-event').change(function() {
tgl_state = $('#toggle-event').prop("checked")
console.log(tgl_state);
var toggle = document.getElementById("toggle-event");
toggle.value = tgl_state;
document.getElementById("tgleq").submit();
})
})
</script>
</div>
这里是 python 脚本 (radio_test.py),只是打印来自 Web 界面的内容:
#!/usr/bin/env python
import cgi
import cgitb
import socket
cgitb.enable()
print "Content-type: text/html\n\n"
form=cgi.FieldStorage()
arg1 = form.getvalue('toggle-event')
print arg1
这就是 HTML 表单的工作方式:如果未选中复选框,则其值不会在 POST 数据中发送。
不过这应该不是问题;它只是意味着 form.getvalue('toggle-event')
的结果是 "TOTO" 或 None.