【发布时间】:2018-11-09 05:27:50
【问题描述】:
我一直在搜索和阅读数十篇帖子,但仍未找到答案。
我正在寻找一种方法来验证表单,保持在同一页面上并在失败时显示错误,或者在成功时呈现下一个 html 页面。
我目前的尝试:将表单发送到烧瓶,验证和重定向。如果验证失败,隐藏框架将不会刷新页面。由于某种原因,render_template 不起作用并且不会显示 err。
Python 和 Html(简体):
@app.route("/", methods=['POST'])
def validate_form():
print
if (format(request.form['q1']) != '1' or format(request.form['q2']) != '2 ):
return render_template("index.html",err = "One of your answers are incorrect. Please check again.")
else:
return render_template("next_page.html")
<iframe name="hiddenFrame" class="hide"></iframe>
<form name ="quiz" method="post" action="/" target="hiddenFrame">
<p>Who likes carrots?<br>
<input type="radio" name="q1" value="1" checked>bunny<br>
<input type="radio" name="q1" value="2">rabbit<br>
<input type="radio" name="q1" value="3">beyonce<br>
</p>
<p>what is 1+1?<br>
<input type="radio" name="q2" value="1" checked>10<br>
<input type="radio" name="q2" value="2">1.<br>
<input type="radio" name="q2" value="3">2<br>
</p>
<span class="error">* {{err}}</span><br>
<input class="button" name="submit" type="submit" value="Submit" >
</form>
编辑:我的 HTML 页面分为 3-4 个子内容,您可以单击“下一步”和“上一个”按钮在它们之间移动。当用户提交表单时,我需要它保持在相同的子内容上,所以我使用隐藏框架通过 html 重定向回它。我相信我所做的一些解决方案在让页面呈现自身方面无法正常工作..
【问题讨论】:
标签: html forms validation flask