js中for循环的问题

原文链接: http://www.cnblogs.com/oldhorse/archive/2006/11/18/564396.html

    今天过来加班,运行了一下以前写的代码,竟然有问题,出错的地方是由于一段js代码引起的:
    

 1 None.gif string  scriptA  =   @"
 2 None.gif                    <script>
 3 None.gif                    var s ;
 4 None.gif                    var sNun ;
 5 None.gif                    var controlNum ;
 6 None.gif                    var chkother= document.getElementsByTagName('input');
 7 None.gif                    for (var i=0;i<chkother.length;i++)
 8 None.gif                    {
 9 None.gif                        if( chkother[i].type=='submit')
10 None.gif                        {
11 None.gif                            if(chkother[i].id.indexOf('btnSubmit')>-1)
12 None.gif                            {
13 None.gif                              
14 None.gif                                  s = chkother[i].id.split('_'); 
15 None.gif                                  controlNum = s[s.length-1] ;
16 None.gif                                  break ;
17 None.gif                            }
18 None.gif                        }
19 None.gif                    }  " ;
20 None.gif             if ( ViewState[ " PersonType " ].ToString()  !=   ""  )
21 ExpandedBlockStart.gifContractedBlock.gif             dot.gif {
22InBlock.gif                scriptA += @" var controlUserId = 'userName_'+s[s.length-1]+'_Value1' ;
23InBlock.gif                   var userIdValue =  document.all['AppOpinion_list1_'+controlUserId].value ;
24InBlock.gif                   document.all.AppOpinion_list1_hiddMan.value = userIdValue;  ";
25ExpandedBlockEnd.gif            }

26 None.gif                   
27 None.gif            scriptA  +=   @"   var controlRaesonId = 'txtOPinion_'+s[s.length-1]; 
28 None.gif            var reasonValue =  document.all['AppOpinion_list1_'+controlRaesonId].value ;
29 None.gif            document.all.AppOpinion_list1_hiddoValue.value = reasonValue;
30 None.gif                
31 None.gif            var j =0;
32 None.gif            for (var i=0;i<chkother.length;i++)
33 None.gif            {
34 None.gif                    if(chkother[i].id.indexOf('AppOpinion_list1_radiobtnResule_'+s[s.length-1])>-1)
35 None.gif                    {
36 None.gif                        j++;
37 None.gif                        if( chkother[i].checked )
38 None.gif                        {
39 None.gif                                    sNun = j ;
40 None.gif                            }
41 None.gif                    }
42 None.gif            }
43 None.gif            document.all.AppOpinion_list1_hiddResult.value = sNun;
44 None.gif            document.all.AppOpinion_list1_btnInsertFlow.click();
45 None.gif            </script> " ;
46 None.gif        Page.RegisterStartupScript( " EA " ,scriptA);

    在for循环中没有增加break的时候,s[s.length-1]的值在先后的调用中会不同,这点就比较郁闷 04.gif,增加break语句跳出循环,就不会存在该问题,值的改变也只是在if语句中,而且确认一个数据符合if语句,虽然问题解决了,但是还不知道原因,以后在找找原因了,mark。。。

转载于:https://www.cnblogs.com/oldhorse/archive/2006/11/18/564396.html

猜你喜欢

转载自blog.csdn.net/weixin_30664051/article/details/94791015