我正在尝试为一些复选框分配一个函数,但我只想根据条件添加它们,在本例中是表单的步骤编号。这是一种迂回的方式,使复选框在选择(或不选择)之后只读。因此,在步骤1中,我希望用户选择cb1或cb2,但在步骤2中,我想分配不允许更改复选框值的函数。
我做错了什么?
function functionOne() {
this.checked = !this.checked
};
if (document.getElementById("stepNumber").value == 2) {
document.getElementById("cb1").setAttribute("onkeydown", "functionOne(this)");
document.getElementById("cb2").setAttribute("onkeydown", "functionOne(this)");
}
答案 0 :(得分:0)
您正在参数中传递元素,因此请使用:
function functionOne(elem) {
elem.checked = !elem.checked
};
您还可以使用属性:
document.getElementById("cb1").onkeydown = functionOne;
document.getElementById("cb2").onkeydown = functionOne;
function functionOne() {
this.checked = !this.checked
};
答案 1 :(得分:0)
为什么不在选择中禁用复选框?
Function onCheck(elm)
{
document.getElementById("cbValue").value = elm.value;
elm.disabled = true;
}
<input id="cbValue" type="hidden" />
使用隐藏的输入字段允许表单将数据发送回服务器。
答案 2 :(得分:0)