0

チェックボックスを大きくするためにJavascriptを使用しています。これを行うには、黒いチェックボックスに画像を使用し、チェックボックスにチェックを入れた別の画像を使用します。実際のチェックボックスのように機能します。ただし、ページが読み込まれると、ページ内のどこかをクリックして呼び出さない限り、黒いチェックボックスが正常に読み込まれません。ページへはこちらからご確認ください。

以下は、これに影響を与えると思われる私の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";
                }
            }
        }
}

以下は、フォームの読み込み時の私の画像です。 ここに画像の説明を入力

そして、これはどこかをクリックしたときの私のページです: ここに画像の説明を入力 他の関数と変数は既に定義されています. したがって、フォームがロードされるたびにそれらを表示できるようにするのを手伝ってくれる人はいますか?

4

2 に答える 2

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();
}

下手な英語でごめんなさい

于 2012-08-23T10:26:43.197 に答える
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;
}

それはうまくいきます!私の質問を確認して回答してくれたすべての人に感謝します。

于 2012-08-23T15:29:44.197 に答える