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循环将执行其主体fori=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调试器查找准确的行