我一直在试图创建一个网页,在收到用户输入后,它会显示按下提交后的所有用户输入的历史记录,但这是按预期工作。不过,我想实现一个警报框,它会显示更多信息。然而,由于其他所有内容都可以正确打印,因为警告框使用onclick事件,所以只会输出最后一个用户输入样本。使用jinja2循环javascript报警
<!doctype html>
<html>
<head>
<title>Enrolment page</title>
</head>
<body>
{% if all_users %}
{% for user in all_users %}
<h1> Hi, {{ user[0] }}) </h1>
<button onclick="myFunction()">Details</button>
<script>
function myFunction() {
alert("{{ user[1] }}, {{ user[2] }}");
}
</script>
{% endfor %}
{%else%}
No users to show
{% endif %}
</body>
</html>
在我的代码中,all_users是来自csv文件的信息,但是工作正常。我唯一的问题是警报没有显示我想要的信息。有没有办法在每个脚本中存储每组用户详细信息以打印出每个按钮,因为它只显示最后一组用户详细信息。
如果我正确理解你的意图,我认为你在Jinja2 for循环内发生了太多事情,即重复的代码不应该重复。不要只看这个代码产生的功能结果,而是尝试查看生成的html源代码并从那里开始调试。 –
@TimD你的意思是不应该重复哪部分? –
如果你在all_users中有N行,这段代码会产生N次带有“Hi,user [0]”的html源代码,产生N个按钮和N个脚本函数等。我想,如果我正确地遵循。 –