我正在构建一个使用python CGI查询数据库的小型Web应用程序。逻辑是: HTML表单 - Python CGI - SQL查询 - python cgi打印结果。
目前它有效,但现在我无法创建表单。我想要做的是根据第一个表格的结果自动填写第二个表格。示例:
首先下载一个选项:汽车,摩托车,公共汽车,火车 第二次下拉:如果我选择了汽车,只播种汽车选择。如果是火车,只有火车选择...
我知道如何使用SQL ('WHERE type = 'car'')
但我不知道如何填写html表单。
我没有使用任何框架,只有HTML,Python(而不是php)和Postgresql
答案 0 :(得分:1)
您必须使用ajax:当第一个选择更改时,您必须将所选值传递给处理请求的远程python脚本并将结果返回到页面:此时通过javascript必须填充第二个选择。
数据可以是简单的html或json格式。
这是一个使用jquery和ajax的例子(记得包含jQuery library):
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>