我知道我可以使用jQuery(how to get multiple checkbox value using jquery)来获取复选框值,但是我的复选框输入在html表单中,所以那些jQuery解决方案都没有工作,因为它们都没有从表单中获取复选框值。
我尝试从表单中提取值,但它只是创建了一个奇怪的无线电节点列表,它似乎计算了复选框名称出现在doc中的次数而不是值。
function validateForm() {
var checks = document.forms["TestForm"]["ParticipantSelection[]"];
alert(checks);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<form name="TestForm" action="Video1.php" method="post" onsubmit="return validateForm()">
<table>
<tr>
<th><img name="<?php echo $valueindicator[0];?>" src="<?php echo $all_four_images[0];?>" height="100">
</th>
<th><img name="<?php echo $valueindicator[1];?>" src="<?php echo $all_four_images[1];?>" height="100">
</th>
<th><img name="<?php echo $valueindicator[2];?>" src="<?php echo $all_four_images[2];?>" height="100">
</th>
</tr>
<tr>
<th> <input type="checkbox" name="ParticipantSelection[]" value="image1">
</th>
<th><input type="checkbox" name="ParticipantSelection[]" value="image2">
</th>
<th><input type="checkbox" name="ParticipantSelection[]" value="image3">
</th>
</tr>
</table>
<input type="hidden" name="AnswerCondition" value="BrowserCheckAnswer">
<button type="submit">Continue</button>
</form>
&#13;
但是我不知道如何让js获取表单输入中的值,而不是计算其他内容,并且不知道如何访问复选框的值
答案 0 :(得分:3)
您可以使用jquery .map()
函数遍历每个选中的复选框,它将返回所选复选框的对象,为了从jQuery对象获取数组,我们可以使用.get()
,如下所示
试试这个:
var validateForm = function(){
var checks = $('input[type="checkbox"]:checked').map(function(){
return $(this).val();
}).get()
console.log(checks);
return false;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name = "TestForm" action="Video1.php" method="post" onsubmit="return validateForm()">
<table>
<tr>
<th> <input type="checkbox" name="ParticipantSelection[]" value="image1">
</th>
<th><input type="checkbox" name="ParticipantSelection[]" value="image2">
</th>
<th><input type="checkbox" name="ParticipantSelection[]" value="image3">
</th>
</tr>
</table>
<input type="hidden" name="AnswerCondition" value="BrowserCheckAnswer">
<button type="submit">Continue</button>
</form>
&#13;
答案 1 :(得分:1)
checks
是一个类似于数组的对象,表示具有该名称的所有元素。
像数组一样循环遍历它。每个成员都有一个表示值的value
属性和一个checked
(布尔)属性,它会告诉你它是否被选中。