我想在点击它将显示消息后,选择最多两个复选框。当我在复选框中使用数组时,我已经实现了它的工作代码,当我不使用数组时,它不会是work.my代码:
<script type="text/javascript">
function chkcontrol(j) {
var total=0;
for(var i=0; i < document.form1.ckb.length; i++){
if(document.form1.ckb[i].checked){
total =total +1;}
if(total > 3){
alert("Please Select only three")
document.form1.ckb[j].checked = false ;
return false;
}
}
}
</script>
<form name=form1 method=post action=check.php>
<table width=''250''align=center>
<tr bgcolor=''#f1f1f1'' ><td >
<input type=checkbox name=ckb value=1 onclick='chkcontrol(0)';></td><td >PHP</td></tr>
<tr bgcolor=''#ffffff'' ><td >
<input type=checkbox name=ckb value=2 onclick='chkcontrol(1)';></td><td >Perl</td></tr>
<tr bgcolor=''#f1f1f1'' ><td >
<input type=checkbox name=ckb value=3 onclick='chkcontrol(2)';></td><td >MySQL</td></tr>
<tr bgcolor=''#ffffff'' ><td >
<input type=checkbox name=ckb value=4 onclick='chkcontrol(3)';></td><td >ASP</td></tr>
<tr bgcolor=''#f1f1f1'' ><td >
<input type=checkbox name=ckb value=5 onclick='chkcontrol(4)';>
</td><td >JavaScript</td></tr>
</table>
</form>上面的代码正在工作,但是当我使用
<input type=checkbox name=ckb[] value=4 onclick='chkcontrol(3)';></td><td >ASP</td></tr>不起作用
I would like to store multiple value in array of php
<?php
print_r($_POST['ckb']);
?> 发布于 2014-11-21 05:32:15
也许你可以试试这个:
function chkcontrol(j) {
var total=0;
for(var i=0; i < document.form1["ckb[]"].length; i++){
if(document.form1["ckb[]"][i].checked){
total =total +1;}
if(total > 3){
alert("Please Select only three")
document.form1["ckb[]"][j].checked = false ;
return false;
}
}
}发布于 2014-11-21 05:44:47
您可以采用这样更清晰的实现
<input type = checkbox name = 'ckb' value = 1 onclick = 'chkcontrol(this)'>
function chkcontrol(obj) {
var checkedLen = 0, checkBoxes = document.getElementsByName(obj.name);
for(var i = 0; i < checkBoxes.length; i++) {
if(checkBoxes[i].checked) {
checkedLen++;
}
if(checkedLen > 3) {
alert("Please Select only three") ;
obj.checked = false;
return;
}
}
}发布于 2014-11-21 05:51:50
很抱歉我只知道C,但肯定有什么叫计时器的。它将继续运行您希望它运行的代码。您可以继续签入选中的复选框的签入号。
https://stackoverflow.com/questions/27054487
复制相似问题