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

Javascript 如何使用EJS在函数中发送多个参数,javascript,node.js,ejs,Javascript,Node.js,Ejs,我正在尝试做一些页面上的表单提交。当用户勾选复选框时,它会通过使用onclick()调用函数提交正确的表单来提交表单,从而标记他们在某一周内参加某个课程的情况。每个班级最多可有8名学生,每个学生将有6个复选框。表格由学生Id和每周课程循环中的数字标识。 我遇到的问题是,当我尝试将这两个标识EJS变量作为参数发送到submit函数时,该函数从未被调用 我尝试只发送1个参数,效果很好。我需要这两个参数,以便能够使其正常工作。如果没有它们,某些复选框将尝试提交其他表单,这会破坏应用程序 <%

我正在尝试做一些页面上的表单提交。当用户勾选复选框时,它会通过使用onclick()调用函数提交正确的表单来提交表单,从而标记他们在某一周内参加某个课程的情况。每个班级最多可有8名学生,每个学生将有6个复选框。表格由学生Id和每周课程循环中的数字标识。

我遇到的问题是,当我尝试将这两个标识EJS变量作为参数发送到submit函数时,该函数从未被调用

我尝试只发送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>

函数出席人数Submit(学生ID、班级编号){
document.getElementById('attendanceCheckbox'+studentId+classNumber.).submit();
}

以下是我找到的解决方案: 每个EJS变量必须用引号括起来。
onclick='attendanceSubmit(“,”)'

我使用单引号作为用于定义onclick操作的引号。传递到函数中的每个参数也必须用引号括起来,因此这些参数必须使用双引号。

我找到了一个解决方案:每个EJS变量必须用引号括起来。onclick='attendanceSubmit(“,”)'我使用单引号作为用于定义onclick操作的引号。传递到函数中的每个参数也必须用引号括起来,因此必须对这些参数使用双引号。

当呈现页面时,如果右键单击一个输入并选择“inspect”,onclick内会显示什么?@Razielx4,它会显示
attendanceSubmit(0)
第一个,
attendanceSubmit(1)
第二次输入,每次输入再继续4次。它完全忽略第一个参数。但是,此ejs变量在表单id名称中使用时工作正常。您确定它在表单id中工作正常吗?你能点击inspect并告诉我你看到了什么吗?我不知道你为什么把@razielx4疯狂
放在这里。我输入表单ID以便javascript可以提交正确的表单。.\u id和i是身份识别者恭喜你搞定了!你应该用真实的答案回答你自己的问题,而不是把它贴在问题上。