Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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和if_Javascript_For Loop - Fatal编程技术网

javascript中的for和if

javascript中的for和if,javascript,for-loop,Javascript,For Loop,我用一个数据库填充了复选框,因此我创建了一个结构 <div class="all_checkbox"> <div> <input type="checkbox" id="<?php echo $data['id']; ?>" style="float:left;"name="option_<?php echo $data['id']; ?>" value="<?php echo $data['id']; ?>">

我用一个数据库填充了复选框,因此我创建了一个结构

<div class="all_checkbox">
 <div> 
   <input type="checkbox" id="<?php echo $data['id']; ?>" style="float:left;"name="option_<?php echo $data['id']; ?>" value="<?php echo $data['id']; ?>">  
  </div> 
  <div style="margin-left:24px;"> 
     <label for="<?php echo $data['id']; ?>" >
              <?php echo $data['cat_title']; ?>
     </label> 
 </div> 
</div>

我想测试选中的复选框—— 我有以下java脚本代码:

function add_cat(){
  for (i=1; i<55; i++)
  {
    if(document.getElementById(i).checked == true )
    { 
      alert(i);
    }   
  }
}
函数添加_cat(){

因为(i=1;我不确定我是否理解这个问题,因为我不会说法语,但是

ID和名称标记必须以字母([a-Za-z])开头,并且可以是 后跟任意数量的字母、数字([0-9])、连字符(“-”), 下划线(“”)、冒号(“:”)和句点(“.”)

编辑


啊,现在已经翻译好了(感谢做这件事的人)。不过我仍然认为这是你的问题。

我不确定我是否理解这个问题,因为我不会说法语,但是

ID和名称标记必须以字母([a-Za-z])开头,并且可以是 后跟任意数量的字母、数字([0-9])、连字符(“-”), 下划线(“”)、冒号(“:”)和句点(“.”)

编辑


啊,它现在已经被翻译了(感谢谁这么做了)。不过我仍然认为这是你的问题。

这个FOR循环使用的I值是1到54。

这个FOR循环使用的I值是1到54。

请查看 它必须以字母开头,后面可以是字母、数字、hiphens、下划线、冒号、句点。
在运行循环之前,还要检查文档中是否存在所有ID。如果指定范围内的任何ID不存在,则会出现如下错误:

TypeError:document.getElementById(i)为空

,执行将在该点停止。
我认为这就是您的情况的原因。

请在 它必须以字母开头,后面可以是字母、数字、hiphens、下划线、冒号、句点。
在运行循环之前,还要检查文档中是否存在所有ID。如果指定范围内的任何ID不存在,则会出现如下错误:

TypeError:document.getElementById(i)为null,执行将在该点停止。
我认为这就是您的情况的原因。

for循环将为
i=1
执行其主体,直到
i=54
,然后
i
将增加到55,它将停止

但是,循环体中的某些代码可能会引发异常,导致循环(以及整个脚本)停止。这可能是
对象为null-无法访问属性
类型错误,在
文档.getElementById(i)时引发
找不到任何元素。请检查错误控制台。为避免出现这种情况,您可以将代码更改为

 var el = document.getElementById(i);
 if ( el && el.checked ) …
 // which is short for
 if ( el != null  && el.checked == true ) …

顺便说一句,数字不是有效的html标识符。这不会破坏您的代码,但您仍然应该解决这个问题。

for循环将执行其主体for
i=1
,直到
i=54
,然后
i
将增加到55,并将停止

但是,循环体中的某些代码可能会引发异常,导致循环(以及整个脚本)停止。这可能是
对象为null-无法访问属性
类型错误,在
文档.getElementById(i)时引发
找不到任何元素。请检查错误控制台。为避免出现这种情况,您可以将代码更改为

 var el = document.getElementById(i);
 if ( el && el.checked ) …
 // which is short for
 if ( el != null  && el.checked == true ) …

顺便说一句,数字不是有效的html标识符。这不会破坏你的代码,但你仍然应该解决这个问题。

你的浏览器控制台中没有记录任何内容?(我的意思是:你确定你有ID为“6”(和“7”)的元素吗?请使用翻译服务以英语提供问题。如果英语不够流利,则可以。您的代码示例似乎不完整,好像缺少函数的开头部分或包含额外的大括号。浏览器控制台中未记录任何内容?(我的意思是:您确定有ID为“6”(和“7”)的元素吗?请使用翻译服务以英语提供问题。如果英语不够流利,则可以。您的代码示例似乎不完整,好像缺少函数的开头部分或包含额外的大括号。for循环未达到55。它在6处停止。因此它适用于6个第一个元素:(循环正常。删除if语句,它将循环正确的次数。问题是您正在查找ID无效的元素(以/为数字开头).现在要么是你的问题,要么就是它们没有被检查。循环本身是健全的。也许发布一些HTML,以便我们更好地了解发生了什么。for循环没有达到55。它在6处停止。因此它适用于6第一个元素:(循环正常。删除if语句,它将循环正确的次数。问题是您正在查找ID无效的元素(以/为数字开头).现在要么是你的问题,要么就是没有检查。循环本身是健全的。也许发布一些HTML,这样我们可以更好地了解发生了什么。不,这是中断元素6@Killer鲸鱼你在firebug中验证过吗?使用ID以字母开头!不,这是中断元素6@Killer鲸鱼你在firebug中验证过吗?使用ID'It’s以字母开头!thinks:)但是我没有找到where:(使用浏览器的javascript调试器查找准确的行thinks:)但是我没有找到where:(使用浏览器的javascript调试器查找准确的行