<script language="javascript">
function button2_onclick() 
{
  for(i=1;i<=30;i++)
 {
     if((parseInt(eval("document.form.pu["+i+"]_1.value"))) > (parseInt(eval("document.form.pu["+i+"]_2.value"))))
   {
        alert("子项不能小于母项!");
        return false;
   }
 }
}
</SCRIPT>

解决方案 »

  1.   

    pu[i]_1——问题出在这里,这样写不能表示你要的那个文本框,可以用楼上的方法,用eval。
    eval的作用是把一段有意义的字符串,当做javascript语句来执行,并返回执行结果。不过楼上的好像多写了几个中括号,把他的中括号去掉试一试,应该可以,如下:<script language="javascript">
    function button2_onclick() 
    {
      for(i=1;i<=30;i++)
     {
         if((parseInt(eval("document.form.pu"+i+"_1.value"))) > (parseInt(eval("document.form.pu"+i+"_2.value"))))
       {
            alert("子项不能小于母项!");
            return false;
       }
     }
    }
    </SCRIPT>
      

  2.   

    关于eval的用法,可以参考:
    http://community.csdn.net/Expert/topic/4498/4498971.xml?temp=.3480493
    http://community.csdn.net/Expert/topic/4507/4507586.xml?temp=.9305841
    这2个帖子
      

  3.   

    哈哈。好用,谢谢zhoubx(小狼)!也要感谢hbhbhbhbhb1021(天外水火(我要多努力)) !
      

  4.   

    <form name='form1'><input type='text' name='pu1_1'>
    <input type='text' name='pu1_2'><br>
    <input type='button' onclick='button2_onclick()'>
    </form>
    <script language="javascript">
    function button2_onclick() 
    {
      var frm = document.forms['form1'];
      for(i=1; i<30; i++){ 
         if(parseInt(eval("document.form1.pu"+i+"_1.value")) > parseInt(eval("document.form1.pu"+i+"_2.value")))
     {
            alert("子项不能小于母项!");
            return false;
       }
     }
    }
    </SCRIPT>