javascript中for循环里怎么再使用i变量

for (var i=1;i<=26;i++)
{
if(getRadioBoxValue("t"+i+"")=="undefined")
{
alert("提示:请将所有问题都填写完以后再提交!");

form1.t+i+_1.focus();
return false;

}
}
请问这个代码的问题,主要是这句form1.t+i+_1.focus();
我的表单中有单选题,名字是t1,t2....,t1对应的单选框的id名分别是t1_1,t1_2,是要判断是否所有的选题都做了,如果没做就将光标返回到这道题的第一个选项。这句话的语法不对?

直接使用K就行了。
对于JS来说,for循环不是一个变量作用域,因此在for循环内部还是外部声明都是一样的。
比如
<script type="text/javascript">
//位置1
for(var i=0;i<5;i++){
for(var j=0;j<3;j++){
var k = '4';//这里的k等价于在位置1出var k;
}
}
alert(k);//这里获取到的k是4
</script>
所以如果你获取的k是undefined,那么只有一种可能,就是没有进入if(data2[i].fSP==v){这个if条件内,这个条件不成立。追问

现在不是获取值,通过这个getRadioBoxValue("t"+i+"")可以知道这道题有没有做,如果没做就返回undefined,现在的问题是如果没做,要将光标移到这道题的第一个选项。
主要是下面这句用focus的方法对吗?还是用其他的方法
form1.t+i+_1.focus();

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-29

这是JS语法的基础内容, 请看书

form1['t'+i+'_1'].focus();

本回答被提问者采纳
相似回答