Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在传递到flask应用程序之前编辑表单数据_Javascript_Python_Forms_Flask - Fatal编程技术网

Javascript 在传递到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

我有以下由flask应用程序呈现的多重选择表单:

<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')