0

我正在构建一个使用 python CGI 查询数据库的小型 Web 应用程序。逻辑是:HTML 表单 - Python CGI - SQL 查询 - python cgi 打印结果。

目前它有效,但现在我一直在创建表单。我想要做的是根据第一个表格的结果自动填写第二个表格。例子:

第一个下拉选项:汽车、摩托车、公共汽车、火车。
第二个下拉菜单:如果我选择汽车,则只播种汽车选项。如果火车,只有火车选项...

我知道如何使用SQL ('WHERE type = 'car'')但我不知道如何填写 html 表单。

我没有使用任何框架,只使用 HTML、Python(而不是 php)和 Postgresql

4

1 回答 1

1

您必须使用ajax:当第一个选择发生变化时,您必须将所选值传递给处理请求并将结果返回到页面的远程python脚本:此时必须通过javascript填充第二个选择。
数据可以是简单的 html 或 json 格式。这是一个使用 jquery 和 ajax 的示例(记得包含jQuery 库):
html:

<form action="" method="post">
    <select class="changeStatus" name="changeStatus">
            <option value="0">Car</option>
            <option value="1">Motorcycle</option>
            <option value="2">BUS</option>
    </select>

</form>

javascript:

<script>
$('document').ready(function(){
//  change event handler
$('select.changeStatus').change(function(){
    // You can access the value of your select field using the .val() method
    //alert('Select field value has changed to' + $('select.changeStatus').val());
    // You can perform an ajax request using the .ajax() method
    $.ajax({
          type: 'GET',
          url: 'your_script_python.py', // This is the url that will be requested

          // select value available inside your_script_python.py
          data: {selectFieldValue: $('select.changeStatus').val()},

          // on success: populate your second select.
          success: function(html){ 
            alert('data passed: ' + html);
           },
          dataType: 'html' // or json 
    });

});
});
</script>
于 2013-05-18T11:19:02.360 回答