私は、ユーザーがテキストボックスに何かを入力するとすぐにチェックボックスをチェックする次のコードを持っています。これは、1つのテキストボックスでうまく動作します。キーを押してチェックボックスをオンにする方法は?
function activateCheckbox() {
if (document.myForm.box1.checked == false) {
document.myForm.box1.checked = true;
}
}
<tr>
<td><input type="text" id="mySearch1" name="mySearch1" size="40" onkeypress="activateCheckbox()"/></td>
<td><input type="checkBox" id="box1" name="box1"/></td>
</tr>
しかしそこに複数のテキストボックスが各1に対してチェックボックスであると私は唯一、対応するチェックボックスをチェックする必要があることとします。上記のコードを以下に示すように関数にパラメータを渡して変更しましたが、 "id"の代わりにチェックボックスの名前を受け入れるので、 "document.myForm.id.checked"が機能しないため、機能しません。より良い選択肢があるかどうか、またはコードを変更して動作させるにはどうすればいいですか?
function activateCheckbox(id) {
if (document.myForm.id.checked == false) {
document.myForm.id.checked = true;
}
}
<tr>
<td><input type="text" id="mySearch1" name="mySearch1" size="40" onkeypress="activateCheckbox('box1')"/></td>
<td><input type="checkBox" id="box1" name="box1"/></td>
</tr>
<tr>
<td><input type="text" id="mySearch2" name="mySearch2" size="40" onkeypress="activateCheckbox('box2')"/></td>
<td><input type="checkBox" id="box2" name="box2"/></td>
</tr>
<tr>
<td><input type="text" id="mySearch3" name="mySearch3" size="40" onkeypress="activateCheckbox('box3')"/></td>
<td><input type="checkBox" id="box3" name="box3"/></td>
</tr>
チェックボックスのIDと名前に異なる名前を付けることができないのはなぜですか? –