Javascript 在传递到flask应用程序之前编辑表单数据
我有以下由flask应用程序呈现的多重选择表单:Javascript 在传递到flask应用程序之前编辑表单数据,javascript,python,forms,flask,Javascript,Python,Forms,Flask,我有以下由flask应用程序呈现的多重选择表单: <form method="POST" action=""> <label for="sports">Sports:</label> <select id="sports" name="sports" multiple> <option value="Basketball">Basketball</option> <opt
<form method="POST" action="">
<label for="sports">Sports:</label>
<select id="sports" name="sports" multiple>
<option value="Basketball">Basketball</option>
<option value="Football">Football</option>
<option value="Baseball">Baseball</option>
<option value="Golf">Golf</option>
<option value="Soccer">Soccer</option>
</select>
<input type="submit" name="send" onclick="var selected_sports = project.getSelectedValues(document.querySelector('#sports'));">
</form>
服务器仅接收第一个选定选项
您可以正常提交
(无需使用JS创建列表),并使用getlist()引用python代码中的所有选定选项
服务器仅接收第一个选定选项
您可以正常提交
(无需使用JS创建列表),并使用getlist()引用python代码中的所有选定选项
你的表单在服务器端怎么样?不是。表单驻留在flask应用程序呈现的模板中。您可以使用一些python代码来处理表单。例如,在某些视图中,是吗?是的,但我认为python代码不会影响这里的任何内容。在数据到达服务器之前,必须将其推送到列表中,对吗?我基本上是使用运动列表来查询数据库,并将一些数据投影到前端。您必须将数据插入实际表单中,随机javascript变量不会随发布的表单数据一起移动。尝试向表单添加隐藏元素,然后使用事件处理程序设置该元素的值。表单在服务器端的状态如何?不是。表单驻留在flask应用程序呈现的模板中。您可以使用一些python代码来处理表单。例如,在某些视图中,是吗?是的,但我认为python代码不会影响这里的任何内容。在数据到达服务器之前,必须将其推送到列表中,对吗?我基本上是使用运动列表来查询数据库,并将一些数据投影到前端。您必须将数据插入实际表单中,随机javascript变量不会随发布的表单数据一起移动。尝试向表单添加隐藏元素,然后使用事件处理程序设置该元素的值。非常感谢!是否有文档说明此方法?我很好奇还有什么其他方法可以用于
flask.request.form
该getlist()
是MultiDict
数据结构的一部分,有关请求对象的更多信息,请参阅flask快速启动指南非常感谢!是否有文档说明此方法?我很好奇还有什么其他方法可以用于flask.request.form
该getlist()
是MultiDict
数据结构的一部分,有关请求对象的更多信息,请参阅《flask快速启动指南》
project = {};
project.getSelectedValues = function (selectTag) {
var result = [];
var options = selectTag && selectTag.options;
for (var = 0; i < options.length; i++) {
if (options[i].selected) {
result.push(options[i].value || options[i].text);
}
}
return result;
}
sports = request.form.getlist('sports')