gpt4 book ai didi

javascript - 如何使用 EJS 在函数中发送多个参数

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:51 25 4
gpt4 key购买 nike

我正在尝试进行一些页面表单提交。当用户勾选一个复选框时,它会通过使用 onclick() 调用函数来提交正确的表单来提交表单,从而标记他们在某一周参加类(class)。每个类(class)最多可以有 8 名学生,每个学生有 6 个复选框。这些表格由学生的 ID 和每周类(class)循环中的编号来标识。

我遇到的问题是,当我尝试将这 2 个标识 EJS 变量作为参数发送到提交函数时,该函数永远不会被调用。

我尝试只发送 1 个参数,效果很好。我需要这两个参数才能使其正常工作。如果没有它们,某些复选框将尝试提交其他表单,从而破坏应用程序。

<% foundClass.students.forEach(function(foundStudent){ %>
<tr>
<% for(let i=0; i < foundStudent.attendance.length; i++){ %>
<td>
<form id="attendanceCheckbox<%= foundStudent._id %><%= i %>" action="/dashboard/class/<%= foundClass.title %>/<%= foundClass.date %>/attendance/<%= foundStudent._id %>/<%= i %>" method="post">
<% if(foundStudent.attendance[i] === true){ %>
<input class="form-check-input m-0" type="checkbox" id="checkBox" name="attendance" value="false" onclick="attendanceSubmit(<%= foundStudent._id %>, <%= i %>)" checked>
<% } else { %>
<input class="form-check-input m-0" type="checkbox" id="checkBox" name="attendance" value="true" onclick="attendanceSubmit(<%= foundStudent._id %>, <%= i %>)">
<% } %>
</form>
</td>
<% } %>
<tr>
<% } %>


<script>
function attendanceSubmit(studentId, classNumber){
document.getElementById('attendanceCheckbox' + studentId + classNumber).submit();
}
</script>

这是我找到的解决方案:每个 EJS 变量必须用引号引起来。 onclick='attendanceSubmit("<%= foundStudent._id %>", "<%= i %>")'我在定义 onclick 操作的引号中使用了单引号。传递到函数中的每个参数也必须用引号引起来,因此必须使用双引号。

最佳答案

这是我找到的解决方案:每个 EJS 变量必须用引号引起来。 onclick='attendanceSubmit("<%=foundStudent._id %>", "<%= i %>")' 我使用单引号作为定义 onclick 操作的引号。传递到函数中的每个参数也必须用引号引起来,因此必须使用双引号。

关于javascript - 如何使用 EJS 在函数中发送多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57532192/

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