以下代码由 for 循环生成。
<form action="saveresponse.php" method="POST" name="mainForm">
<input class="cbox_yes" type="checkbox" name="yes[]" value="01.jpg"
onclick="spenable()" /> OK
<input class="cbox_sp" type="checkbox" name="sp[]" value="01.jpg" disabled />Special<br />
<input class="cbox_yes" type="checkbox" name="yes[]" value="02.jpg"
onclick="spenable()" /> OK
<input class="cbox_sp" type="checkbox" name="sp[]" value="02.jpg" disabled />Special<br />
etc etc upto n times...
现在,我想要的是在页面加载时,所有 sp[] 复选框应该被禁用和启用,只有当它们对应的 yes[] 复选框被用户选中时。
我正在使用的 Javascript 代码:(只是为了检查 JS 是否正在捕获 yes[] 复选框的状态?
function spenable(){
var yes = document.mainForm.yes[].value;
if (yes == true)
//alert("true");
document.mainForm.yes[].value = checked;
else
//alert("false");
document.mainForm.yes[].value = checked;
};
};
但我没有收到任何警报(既不是,也不是)。
那么,第二行中的 yes[] (方括号)是否不正确?或者我的 if/else 条件在 JS 中是错误的?
PS SO 或 Google 上的所有问题都只涉及一个案例/对。
PS 如果需要,我可以将 yes[] 更改为 yes1、yes2、yes3 等以及相应的 sp1、sp2、sp3,其中 1,2,3 是 For 循环的 $i,但是我将如何在 JS 中捕获/引用它?
_更新: _
流程/条件是(澄清):
最初特殊复选框将被禁用,并且确定复选框将被取消选中。
然后,如果用户选中 Ok,则启用 Special。
如果用户愿意,他可以勾选特别。
如果稍后用户改变主意并取消勾选 OK,Special 应该取消勾选并再次禁用。