Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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
返回Python/Flask中的javascript变量_Javascript_Python_Html_Flask - Fatal编程技术网

返回Python/Flask中的javascript变量

返回Python/Flask中的javascript变量,javascript,python,html,flask,Javascript,Python,Html,Flask,我正在开发一个小型Flask应用程序,我很难找到从Python访问javascript数组以打印为csv的方法 我的Flask文件的一般设置是(我试图在控制台中打印,以查看这是否有效,然后我可以稍后以csv的形式写入): 然后,在我的html中有一个下拉选择器: 空的 蓝色 红色 白色 灰色 我通过如下方式访问Javascript中的选定值: function getColours() { var c = document.getElementById("Layer1");

我正在开发一个小型Flask应用程序,我很难找到从Python访问javascript数组以打印为csv的方法

我的Flask文件的一般设置是(我试图在控制台中打印,以查看这是否有效,然后我可以稍后以csv的形式写入):

然后,在我的html中有一个下拉选择器:


空的
蓝色
红色
白色
灰色

我通过如下方式访问Javascript中的选定值:

function getColours() {
    var c = document.getElementById("Layer1");
    var colour = c.options[c.selectedIndex].value;
    return colour;
}
<form action="/assemblies" method="post">
    <select name="colours">
    <option value="0">Empty</option>
    <option value="1">Blue</option>
    <option value="2">Red</option>
    <option value="3">White</option>
    <option value="4">Gray</option>
    </select>
    <br>
    <button type="submit">Click me</button>       
</form> 
在html中,我使用一个表单发布结果:


点击我

我知道html按钮正在发布,但我无法使用Python访问结果。我是Flask的新手,在其他问题或教程中找不到问题。欢迎提供任何帮助。

假设您的python是正确的,您需要将代码发布到程序集,如下所示:

function getColours() {
    var c = document.getElementById("Layer1");
    var colour = c.options[c.selectedIndex].value;
    return colour;
}
<form action="/assemblies" method="post">
    <select name="colours">
    <option value="0">Empty</option>
    <option value="1">Blue</option>
    <option value="2">Red</option>
    <option value="3">White</option>
    <option value="4">Gray</option>
    </select>
    <br>
    <button type="submit">Click me</button>       
</form> 

空的
蓝色
红色
白色
灰色

点击我

JS应该避免在可以避免的地方使用:)这不是动态的,因此这将发送一个带有colors=“0”的post请求,例如,如果选择了Empty(空)

很抱歉,由于信誉较低,直接作为答案发布,但应该是评论

您的选择没有
名称
属性;它永远不会作为邮件的一部分发送。为其指定名称属性和值:

<select id="Layer1" name="layer">
select.html

<form action="/assemblies" method=['GET', 'POST']>
    <select name="colours">
        <option value="0">Empty</option>
        <option value="1">Blue</option>
        <option value="2">Red</option>
        <option value="3">White</option>
        <option value="4">Gray</option>
    </select>
    <br>
    <input type="submit" value="submit">      
</form>

空的
蓝色
红色
白色
灰色

assemblies.html模板:

<p>{{mycolours}}</p>
{{mycolors}


MyColor的输出是您选择的值。例如,如果您选择
empty
它将打印
0
,如果您选择
white
它将打印
3

我有一个类似的问题:希望它能帮到您。它在哪里发布,操作没有定义,这不是实现的方法,你想选择多种颜色还是一种颜色?如何提交带有各种“选择”的表单?这就成功了,谢谢。如何在一次点击中提交具有各种“选择”功能的表单?(例如,颜色1、颜色2、颜色3等)
<p>{{mycolours}}</p>