当页面加载时,Javascript似乎无法加载图像

时间:2012-08-23 10:02:23

标签: javascript forms load

我正在使用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";
                }
            }
        }
}

下面是我在表单加载上的图片: enter image description here

这是我点击任何地方的页面: enter image description here 还定义了哪些其他功能和变量。因此,任何人都可以帮助我在表单加载时显示它们吗?

2 个答案:

答案 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;
}

然后它的作品!感谢所有审核并回答我问题的人。