gpt4 book ai didi

javascript - 无法通过javascript正确获取选定的复选框

转载 作者:行者123 更新时间:2023-12-03 11:02:40 27 4
gpt4 key购买 nike

我有一个 jsp 页面,其中有一定数量的动态生成的复选框。

以下是 jsp 页面的代码片段:

      <form>
<br>
<table align="center" border="1">
<tr><th>Employee ID</th><th>SkillSet</th><th>Experience</th><th>Assign</th></tr>
<c:forEach var="bean" items="${rteorbalssn}">
<tr>
<td><a id="${bean.pbeanempid}" onclick="funcredi(this.id)" href="#">${bean.pbeanempid}</a></td>
<td>${bean.pbeanskill}</td>
<td>${bean.pbeanexp}</td>
<td><input type="checkbox" id="${bean.pbeanempid}" name="assignment" ></td>
</tr>
</c:forEach>
</table>
<br><table align="center"><tr><td align="center"><input type="button" value="Submit" onclick="func(this.value,${rteorbalssn[0].clickcode})"/></td></tr>
</table>
</form>

还有我的 JavaScript:

function func(clicked,projcode)
{
if(clicked == 'Submit')
{

var count=0;
var selected=[];
for(var i=0; i < document.forms[0].assignment.length; i++){
if(document.forms[0].assignment[i].checked)
{
selected.push(document.forms[0].assignment[i].id);
count++;
}
}
if(selected.length==0)
alert("Atleast 1 employee must be assigned before submission!")
else
{
alert("No of employees selected: "+count);
selected.push(projcode);
window.open("http://localhost:9090/HCLRMS/empasub?users="+selected,"_self");

}
}
}

案例:1

假设生成了 3 行:

    Employee ID  SkillSet  Experience  Assign 
-----------------------------------------------
056415 JAVA,C 4 ❏
545646 JAVA 1 ❏
387999 JAVA 6 ❏

如果选择了 1 个或多个复选框,则 JavaScript 会显示以下警报:选择的员工数量:<1或2或3,根据选择数量>

或者

如果未选中任何复选框,JavaScript 将显示以下警报:提交前必须至少分配 1 名员工!(即它工作完美)

案例:2

假设生成了 1 行:

    Employee ID  SkillSet  Experience  Assign 
----------------------------------------------
056415 JAVA,C 4 ❏

如果选中或未选中该复选框,JavaScript 将显示以下警报:提交前必须至少分配 1 名员工!

我哪里出错了?

最佳答案

我不认为默认情况下表单上有任何称为“分配”的属性。您想要使用的内容类似于

var inputs = document.forms[0].getElementsByTagName("input")

for (var i=0; i<inputs.length; i++) {

if (inputs[i].type === "checkbox" && inputs[i].checked){
// do your thing
}

}

关于javascript - 无法通过javascript正确获取选定的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013692/

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