因此。基本上我现在知道如何为选中的复选框添加限制。 我还了解了如何通过在复选框上添加'[]'来通过POST发送多个值。 出现了另一个问题。你如何将这两者结合起来? 我应该使用什么脚本代码?因为我在下面使用的代码不接受带有'[]'的复选框。 这是我的代码:
<script type="text/javascript">
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" candidates.")
this.checked=false
}
}
}
}
</script>
<body>
<form action="votePage.php" method="post" enctype="multipart/form-data" id="voting" name="voting">
<?php
$limit = 0;
while($limit<3){
?>
<input type='checkbox' name='Candidate' value=<?php echo $limit;?>><?php echo $limit;?> <br>
<?php
$limit++;
}
?>
<input type="submit" name="submit"/>
</form>
<script type="text/javascript">
checkboxlimit(document.forms.voting.Candidate, 2) //this limits checked items to only 2.
</script>
</body>
非常感谢快速助手。日Thnx。
答案 0 :(得分:0)
我认为这有助于将您的javascript移到页面底部。
您可以将此语法用作输入元素的名称:
>>> unpaired = [1,3]
>>> paired = [(2,4)]
>>> map_of_symbols = {1: '.', 2: '(', 3: '.', 4: ')'}
>>> values = sorted(unpaired+[i for x in paired for i in x])
>>> seen = [map_of_symbols[i] for i in values]
>>> seen
['.', '(', '.', ')']
然后触发name='Candidate[]'
函数,如下所示:
checkboxlimit
您可以在此行之前从顶部移动您的javascript:
checkboxlimit(document.forms.voting['Candidate[]'], 2);
例如:
checkboxlimit(document.forms.voting.Candidate, 2) //this limits checked items to only 2.