切换低状态不会发送到 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.