我正在使用Javascript来扩大我的复选框。这样做我使用图像一个用于黑色复选框,另一个用复选框。它像真正的复选框一样工作。但是,当页面加载时,黑色复选框未成功加载,除非我单击页面中的某个位置来调用它们。请检查here到页面。
下面是我的js代码,我认为它会对此产生影响:
var Custom = {
init: function() {
var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
for(a = 0; a < inputs.length; a++) {
if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
span[a] = document.createElement("span");
span[a].className = inputs[a].type;
if(inputs[a].checked == true) {
if(inputs[a].type == "checkbox") {
span[a].style.background = unchecked;
} else {
span[a].style.background = unchecked;
}
}
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
inputs[a].onchange = Custom.clear;
if(!inputs[a].getAttribute("disabled")) {
span[a].onmousedown = Custom.pushed;
span[a].onmouseup = Custom.check;
} else {
span[a].className = span[a].className += " disabled";
}
}
}
}
下面是我在表单加载上的图片:
这是我点击任何地方的页面: 还定义了哪些其他功能和变量。因此,任何人都可以帮助我在表单加载时显示它们吗?
答案 0 :(得分:1)
我不知道你为什么要用那个
if(inputs[a].checked == true) {
if(inputs[a].type == "checkbox") {
span[a].style.background = unchecked;
} else {
span[a].style.background = unchecked;
}
}
但是当我在http://checkintonight.freeiz.com/js/custom-form-elements.js中打开你的脚本时 尝试在Custom.init()的末尾调用函数clear(),它可以正常工作
init: function() {
//
...
//
this.clear();
}
抱歉我的英文不好
答案 1 :(得分:0)
最终,我在我的Javascript代码中发现了一个错误。我在else
函数中添加了init()
语句,以测试是否也未选中该复选框。所以代码如下所示:
if(inputs[a].checked == true) {
if(inputs[a].type == "checkbox") {
span[a].style.background = unchecked;
}
} else {
span[a].style.background = unchecked;
}
然后它的作品!感谢所有审核并回答我问题的人。