如何从 JS 发送 confirm "ok" / ""cancel" 到 Flask
How to send confirm "ok" / ""cancel" from JS to Flask
我正在尝试找到一种方法来“收集”用户的输入,比如如果用户在 JS 确认中按“确定”window,我想在 python的烧瓶,如果用户按下“取消”则为“False”。
我有这部分用于 JS 功能:
<script>
function confirmBooking(elem) {
if(confirm('Are you sure you want to book this slot?') == true) {
//elem = 1;
alert("its done: " + elem);
}
else {
return 0;
}
}
</script>
现在在“表单”方面我有这个:
<form method="post">
<button type="submit" name="free_button" value="free_button" onClick="confirmBooking('{{ booking_slot }}')"> Free </button>
</form>
所以,在这里,booking_slot 是一个包含一些字符串的 python 变量。如果用户分别选择“确定”或“取消”,我想要一些方法将 True/False 值设置为 Flask 端的变量。
有什么方法可以实现吗?谢谢
您需要创建一个函数来收集或获取从前端到后端的输入。我经常做这个技术。
<form action="{{url_for('/collect')}}" method="post">
<input type="hidden" id="userInput" name="userInput">
<button type="submit" name="free_button" value="free_button" onClick="confirmBooking('{{ booking_slot }}')"> Free </button>
</form>
<script>
function confirmBooking(elem) {
if(confirm('Are you sure you want to book this slot?') == true) {
//elem = 1;
alert("its done: " + elem);
document.getElementById("userInput").value = "True";
}
else {
document.getElementById("userInput").value = "False";
return 0;
}
}
</script>
@app.route('/collect',methods=["POST"])
def collect():
if request.method =="POST":
userInput = request.form.get("userInput")
return render_template('<template here>',userInput=userInput)
我正在尝试找到一种方法来“收集”用户的输入,比如如果用户在 JS 确认中按“确定”window,我想在 python的烧瓶,如果用户按下“取消”则为“False”。
我有这部分用于 JS 功能:
<script>
function confirmBooking(elem) {
if(confirm('Are you sure you want to book this slot?') == true) {
//elem = 1;
alert("its done: " + elem);
}
else {
return 0;
}
}
</script>
现在在“表单”方面我有这个:
<form method="post">
<button type="submit" name="free_button" value="free_button" onClick="confirmBooking('{{ booking_slot }}')"> Free </button>
</form>
所以,在这里,booking_slot 是一个包含一些字符串的 python 变量。如果用户分别选择“确定”或“取消”,我想要一些方法将 True/False 值设置为 Flask 端的变量。
有什么方法可以实现吗?谢谢
您需要创建一个函数来收集或获取从前端到后端的输入。我经常做这个技术。
<form action="{{url_for('/collect')}}" method="post">
<input type="hidden" id="userInput" name="userInput">
<button type="submit" name="free_button" value="free_button" onClick="confirmBooking('{{ booking_slot }}')"> Free </button>
</form>
<script>
function confirmBooking(elem) {
if(confirm('Are you sure you want to book this slot?') == true) {
//elem = 1;
alert("its done: " + elem);
document.getElementById("userInput").value = "True";
}
else {
document.getElementById("userInput").value = "False";
return 0;
}
}
</script>
@app.route('/collect',methods=["POST"])
def collect():
if request.method =="POST":
userInput = request.form.get("userInput")
return render_template('<template here>',userInput=userInput)