我正在通过appendchild创建复选框。我希望能够检查他们的状态。我知道格式应该是document.form.checkboxname.value,但无论我使用它的表单名称或复选框名称的组合都没有给我回复。
var myParagraph=document.getElementById("myLine");
myForm = document.createElement("FORM");
myForm.setAttribute("name", "myForm2");
mytable = document.createElement("TABLE");
var CB_Delete = document.createElement('input');
CB_Delete.type = "checkbox";
CB_Delete.name = "CB_Test";
CB_Delete.setAttribute("name", "CBTest2");
CB_Delete.value = 2;
CB_Delete.onclick = answer;
theCell.appendChild(CB_Delete);
总结一下,如果选中复选框,我希望答案功能给我一个提醒。非常感谢! 要澄清我在警报(document.form.checkbox.value)中替换表格和复选框的内容是什么?
答案 0 :(得分:3)
CB_Delete.checked
应该有效。请参阅HTMLInputElement on MDN。
console.log(CB_Delete.checked);
要选中或取消选中复选框,您可以分别执行CB_Delete.checked = true
或CB_Delete.checked = false
。 checked
是一个对象属性,应该具有布尔值。 CB_Delete.checked
只是查询其当前值。
在事件处理函数中,您可以将当前处理事件的元素引用为this
。所以从我以前的jsFiddle的例子中可以看出:
CB_Delete.onchange = function () {
console.log(this.checked); /* this refers to the checkbox here */
};
您也可以在this
功能中使用answer
。
您可以阅读有关handling events on Quirksmode。
注意:使用CB_Delete.onchange
是一种非常古老的,并不是建议在大多数情况下附加事件处理程序的方法。使用CB_Delete.addEventListener('change', answer, false)
是正确的方法。较旧的IE将会出现问题,但它们会有attachEvent()
。您可以阅读this technique and why to use it on Quirksmode(该文章为3年,在阅读"Unfortunately few browsers support it at the moment."
等内容时会考虑到这一点。要隐藏浏览器差异,您可以使用jQuery等库。