質問: 0) { window.alert ("ERROR5"); } } } ```
回答: 質問の書き直しを提案した手前、変更後の質問について回答します > > chkid]が未チェックだとアラート表示になると思ったらチェックを入れた状態でもアラート表示になってしまうのはなぜでしょうか > > > 問題部分を抜き出します ``` var v = 0; for(var bde = 0; bde < cde.length; bde++) { console.log(cde[bde]); console.log(bde); cde[bde].disabled = false; } if (v == 0) { window.alert ("ERROR5"); } ``` `v = 0` としてから後の処理で v の値に変化がありませんので、`if (v == 0) {`は常に成立して続く`window.alert ("ERROR5");`を実行します やりたいことは`chkid[をチェックしなかったらERROR5を表示`なのに、その処理がありません たとえばfor文の中に ``` if ( cde[bde]にチェックがついていたら ){ v に 1 を入れる } ``` というのを追加したらよいのではないでしょうか > > console.logでどのような処理をしているのかも、()内のオブジェクトを表示するという事しか調べられませんでした > > > console.log は、ブラウザの開発ツール(F12を押すと出てきます)で「コンソール」というフィールドに()に指定したオブジェクトの内容を出力してくれます ``` console.log(cde[bde]); /*配列 cde の 変数 bde 値番目に入っている値を出力 */ console.log(bde); /*変数 bde の値を出力 */ ``` つまり、bdeの値の変化と、それによって指し示している配列cdeの値をコンソールに出力して確認できるようにしている console.logを使うと、それを書いたタイミングにオブジェクトにはどのような値が入っているかを確認することができます プログラムの中で見えない値を可視化することで、問題があったときの解決の糸口となりとても有用です