【问题标题】:return string from html form to flask将字符串从 html 表单返回到烧瓶
【发布时间】:2020-08-05 09:59:56
【问题描述】:

这个问题是很常见的问题,但很长一段时间都无法解决它......如果你能弄清楚我哪里出错了,请帮忙

我有一个表单返回这样的字符串:

<form id="details" name="details" method="post">
    <input class="myButton" style="margin-top:300px; margin-left:320px; text-align: center;" type="submit" value="Save" onclick="return getstring()">
    </input>
</form>

<script>
function getstring() {
                ....
                ....
                return "abcd";
                }
</script>

现在,在我的烧瓶代码中:

def process_details():
    if request.method == 'GET':
        return render_template('page1.html')
    else:
        returned_details = request.form['details']
        print(returned_details)

但是当我调试它时,在“POST”请求期间,它正确地进入了 process_details 函数,但它无法填充返回的_details 变量。返回字符串不是字典,知道在这种情况下如何返回烧瓶吗?

换句话说,我只需要一个表单内的按钮,该按钮从页面收集数据并在按下时提交(我在 onClick 上获取该数据)。在烧瓶部分,当我做 request.form['details'] 时,我应该得到那个值。

谢谢

【问题讨论】:

    标签: javascript python html flask


    【解决方案1】:

    我认为问题在于 html 页面中的表单。当我们发出 POST 请求时,您想运行代码的 else 部分,但在提交后没有表单将我们发送到该代码。所以简而言之添加这个以您的形式;

    <form action="{{ url_for ('process_details') }}">...</form>
    

    【讨论】:

    • 我还想提一下,正如你所说,它在process_details函数中正确输入,但实际上它没有进入该函数。提交表单只是刷新页面,让你有这样的想法。
    • 不,伙计,不起作用...换句话说,我只需要一个表单内的按钮,该按钮从页面收集数据并在按下时提交。在烧瓶部分,当我做 request.form['details'] 时,我应该得到那个值....
    • 为输入字段命名,然后调用 request.from.get["input_name"] 其余部分相同。我认为您应该使用操作属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2018-03-26
    • 2021-03-30
    • 2019-05-03
    • 2020-10-02
    • 1970-01-01
    相关资源
    最近更新 更多