Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用for循环填充document.getelementbyid中的数组_Javascript - Fatal编程技术网

Javascript 使用for循环填充document.getelementbyid中的数组

Javascript 使用for循环填充document.getelementbyid中的数组,javascript,Javascript,我现在面临在我的项目中使用循环的问题。目前,我有一个多个复选框,它们有自己独特的id示例:myCheckbox、myCheckBox1、myCheckBox2等等 我不想硬核myCheckBox后面的数字,所以我尝试使用for循环来完成它。不知何故,我不知道为什么我的for循环可以工作,如果我像document.getelementbyid('mycheckbox1')那样硬编码它。checked==true,那么它就可以工作了 我在代码中遗漏了什么?请指导我,因为我对网络编程还是新手。谢谢 这

我现在面临在我的项目中使用循环的问题。目前,我有一个多个复选框,它们有自己独特的id示例:myCheckbox、myCheckBox1、myCheckBox2等等

我不想硬核myCheckBox后面的数字,所以我尝试使用for循环来完成它。不知何故,我不知道为什么我的for循环可以工作,如果我像document.getelementbyid('mycheckbox1')那样硬编码它。checked==true,那么它就可以工作了

我在代码中遗漏了什么?请指导我,因为我对网络编程还是新手。谢谢

这是我的密码:

<script type='text/javascript'>

        function checkDisabled(yourSubmitButton){

          for(var i=0;i<10;i++){
              if(document.getElementById("myCheckBox"+i).checked==true){
                  yourSubmitButton.disabled = false;
                    return; 
              }
          } 


            // If we have made it here, disable it
            yourSubmitButton.disabled = true;

          };
          </script> 

功能检查已禁用(yourSubmitButton){

对于(var i=0;i暗中捅:您在问题中说过,您的复选框称为
myCheckbox
myCheckbox1
myCheckBox2
,诸如此类,但您的循环在第一次迭代时是在寻找
myCheckbox0
,而不是
myCheckbox0
,这将使它在您尝试读取e
checked
属性
null

如果
getElementById
找不到特定的元素,它将返回
null
。您无法对空对象进行
。checked
属性将崩溃。您需要测试
getElementById
是否返回有效的对象。就代码而言,它是正常的尽管存在
myCheckbox
vs
myCheckbox0
(参见我的答案)的问题,但是。我们需要查看您的HTML。此外,在条件下,您永远不需要
==true
。并且您需要有10个复选框才能使该代码不抛出错误。通常,解决此类问题的最佳选择是使用浏览器中内置的功能齐全的调试器。按F12或Ctrl+Shift+I或(在Mac上)Cmd+Shift+I或在菜单中查找,您将找到一个调试器,使用它可以一次一步编写语句,查看变量值,如果出现错误,则查看错误……不必在黑暗中蹒跚而行;您的浏览器中有一个可以使用的火炬。就像火炬类比@T.J-要尝试并重新记忆吗呃那个