次のコードは 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...
ここで、ページの読み込み時に、対応する yes[] チェックボックスがユーザーによってチェックされている場合にのみ、すべての sp[] チェックボックスを無効にして有効にする必要があります。
私が使用している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;
};
};
しかし、私は何の警告も受けていません(はいでもいいえでもありません)。
では、2 行目の yes[] (角かっこ) は間違っていますか? または、JS で if/else 条件が間違っていますか?
PS SO または Google でのすべての質問は、1 つのケース/ペアのみを扱います。
PS 必要に応じて、yes[] を yes1、yes2、yes3 などに変更し、対応する sp1、sp2、sp3 を変更できます。ここで、1,2,3 は For ループの $i ですが、JS でどのようにキャプチャ/参照しますか?
_更新: _
フロー/条件は次のとおりです (明確化):
最初は [特別] チェックボックスが無効になり、[OK] チェックボックスがオフになります。
次に、ユーザーが [OK] をチェックすると、Special が有効になります。
ユーザーが望むなら、彼は特別にチェックを入れることができます。
後でユーザーが気が変わって OK のチェックを外した場合、Special のチェックを外して再び無効にする必要があります。