gpt4 book ai didi

javascript - 如何让 HTML 表单提交(和 Python 函数返回)使用 Flask 什么都不做

转载 作者:行者123 更新时间:2023-12-04 15:22:55 28 4
gpt4 key购买 nike

我在一个 HTML 页面上的网络应用程序表单中使用 Flask,但在提交之前分散在几个“页面”中。

第一个按钮“添加动物”将运行我的 python 脚本中的 run_ME 函数,然后继续到下一页,让用户输入动物名称。我的问题是,对于 Flask,我必须在我的 python 函数中返回一些东西(我不能返回 None 或完全省略返回),但我不想单击“添加动物”导致表单以任何方式响应,只需运行Python 中的函数并以 HTML 显示下一页。

来自 previous posts ,我在 onClick 事件中将 return false 添加到我的 HTML 脚本中。然而,这并没有帮助,并且 return 'False' 在我的 python 脚本中(因为我必须返回一些东西)覆盖并给我一个带有 'False' 的空白页面。

HTML 文件中的相关代码:

<div class="section-25">
<div class="container-5 w-container">
<div class="text-block-6">Select the level of algorithm you&#x27;re looking to make</div>
<div class="w-form">
<form id="wf-form-Email-Form" name="wf-form-Email-Form" data-name="Email Form" method="post" action="">

<!-- PAGE 1 -->
<div id="page1" class="page" style="visibility:visible;">

<!-- ALGORITHM NAME -->

<label for="Algorithm-Name-3" class="custom-question algorithm-name">What will you name your algorithm?<br></label><input type="text" class="text-field enter-name w-input" maxlength="256" name="Algorithm-Name" data-name="Algorithm Name"
placeholder="Be as creative as you like!" id="Algorithm-Name">

<!-- ALGORITHM DESCRIPTION -->

<label for="Algorithm-Desc-3" class="custom-question algorithm-desc">Briefly describe what your algorithm does?<br></label><input type="text" class="text-field enter-name w-input" maxlength="256" name="Algorithm-Description"
data-name="Algorithm Description" placeholder="You can still be creative!" id="Algorithm-Desc">
<p><input type="submit" class="submit-button-2 w-button" id="C1" value="Add Animal" onClick="showLayer('page2'), runFunction(); return false;"></p>
</div>

<script>
mybutton = document.getElementById("C1");

function runFunction() {
form.action = "/meta2sql";
form.submit();
}
</script>

<!-- PAGE 2 (1st ANIMAL) -->

<div id="page2" class="page">

<p style="font-family: Poppins,sans-serif; color: #fff;">1st Animal</p>

<!-- 1ST ANIMAL NAME -->

<label for="Enter-species" class="custom-question enter-species" id="one_name">What animal are you looking for?</label>
<input type="text" class="text-field w-input" maxlength="256" name="species1" placeholder="Enter name of animal" id="Enter-species" required="">

<br><br>

<p><input type="button" class="submit-button-2 w-button" id="B1" value="Go Back" onClick="showLayer('page1')">
</form>
</div>
</div>
</div>

<!-- JAVASCRIPT -->
<script language="JavaScript">
var currentLayer = 'page1';

function showLayer(lyr) {
hideLayer(currentLayer);
document.getElementById(lyr)
.style.visibility = 'visible';
currentLayer = lyr;
}

function hideLayer(lyr) {
document.getElementById(lyr).
style.visibility = 'hidden';
}

function showValues(form) {
var values = '';
var len = form.length - 1;
//Leave off Submit Button
for (i = 0; i < len; i++) {
if (form[i].id.indexOf("C") != -1 ||
form[i].id.indexOf("B") != -1)
//Skip Continue and Back Buttons
continue;
values += form[i].id;
values += ': ';
values += form[i].value;
values += '\n';
}
alert(values);
}
</script>

Python文件中的相关代码:

from flask import Flask, request, render_template, url_for, redirect    

app = Flask(__name__)

@app.route('/run_ME', methods=['GET', 'POST'])
def run_ME():
# some functions
return 'False'

@app.route("/")
def index():
return render_template('index.html')

if __name__ == "__main__":
app.debug = True
app.run()

感谢任何建议

最佳答案

您不应该返回 string“False”,而是返回 bool 值。实际上,如果您想“正确地”执行此操作,您会返回 server response 204 .

您可以使用 return Response(status=204) 执行此操作当然,您必须先从 Flask 中导入该类。

关于javascript - 如何让 HTML 表单提交(和 Python 函数返回)使用 Flask 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62925127/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com