在我的 application.py 中,我在执行查询并在呈现html模板时发送结果行:
rows = db.execute("SELECT * FROM fase1 JOIN gamesf1 ON fase1.f1game_id = gamesf1.f1game_id WHERE user_id = :userid AND fase1.f1game_id = :f1gameid",
userid=request.args.get("u"), f1gameid=request.args.get("g"))
return render_template("updatef1.html", rows=rows)`
在我的 html 文件中,我可以使用行中的变量,如下所示,并使用它们制作表单:
{% for row in rows %}
<h2>{{(row["f1game_team1"])}} vs. {{(row["f1game_team2"])}}</h2>
<form action="/f1updated" id="f1update" method="post">
<input type="number" class="form-control" id="marcadort1" name="marcadort1" value={{(row["marcador_t1"])}} min="0">
...
</form>
{% endfor %}
它运作良好。
我遇到的问题是在同一个 for 循环中编写脚本函数():
<script>
let form = document.getElementById("f1update");
form.onsubmit = function() {
if (form.marcadort1.value == 0 & form.marcadort2.value == 0 & form.primergol.value != "No Goles")
{
alert("Si no hay goles, no puedes tener un pais en PRIMER GOL");
return false;
}
if (form.marcadort1.value == 0 & form.primergol.value == {{(row["f1game_team1"}}))
{
alert("No puedes poner PRIMER GOL al pais que tenga marcado 0");
return false;
}
};
</script>
第一个如果工作正常,因为我没有使用任何变量。但第二个if使用变量 {{(row [“f1game_team1”}} 并给我一个解析错误:意外的令牌{
有关如何在函数脚本中使用这些变量的任何帮助吗?
谢谢!
答案 0 :(得分:0)
您是否只是错过了这一行中括号的顺序?
if (form.marcadort1.value == 0 & form.primergol.value == {{(row["f1game_team1"}}))
我认为应该是
if (form.marcadort1.value == 0 && form.primergol.value == {{(row["f1game_team1"])}})
最好从传递给模板的内容初始化JavaScript变量,以便更容易调试,并避免此类陷阱。
此外,您应该查找&
和&&
运算符之间的区别,因为我相信您并不是指您所写的内容。