呵呵学PHP的呀,同行哦~<script language="javascript">
var j=<?echo $num ?>;
function submitAll()
{      
     for (var i=1;i<j;i++)
     substr = "f"+i+".submit()";
     setTimeout(substr,5000)
}
</script>

解决方案 »

  1.   

    <script language="javascript">
    var j=<?echo $num ?>;
    var tmp=1
    function submitAll()
    {      
    eval("document.form"+tmp+".submit()");
    tmp++
    setTimeout("submitAll()",5000)
    }
    </script>
      

  2.   

    谢谢以上两位的帮助,确实对此不大清楚,以下为参考两位意见所得。不过调试以后发现还有问题。还请多多帮助。<script language="javascript">
    var j=<?echo $num ?>;
    function submitAll()
    {      
    for(var i=1;i<j;i++){
            substr=eval("document.f"+i+".submit()");
            setTimeout(substr,5000);
            }
    }
    </script>
      

  3.   

    其实setTimeout的第一个参数是一个字符串,没有必要用eval吧?
      

  4.   

    发现如果是设置了延迟的话,那么延迟的那个form没有能提交
    当去掉setTimeout(substr,5000);这一句,所有form正确提交。所以考虑我自己写的那段还是有问题。
      

  5.   

    并且考虑程序中主form<form method="post" action="tt.asp" name=form0 target="_blank" onsubmit="javascript:return submitAll();">  那么延迟好像  setTimeout(substr,5000);  如此写,并不合适?还请指教!
      

  6.   

    延迟的那个form没有能提交,指的是哪一个?如果是最后一个没能提交,那很可能是你循环的i值有错,如果是只提交了一个表单,那我就faint,不可能的我试验的时候每5秒提交一个,没有错误嘛~我也请教,你的这些表单不能写到一个表单里?既然都能做到给form动态编号,<input type=text>也可以动态编号呀~,还是写一个表单比较好~难道是你要提交到的页面不同?
      

  7.   

    我测试的结果
    function submitAll()
    {      
    for(var i=1;i<j;i++){
            substr=eval("document.f"+i+".submit()");
            setTimeout(substr,5000);
            }
    }当j=3时,只提交了前2个FORM。第三个没有提交。
    当改成如下的时候,全部提交成功。所以,不可能时循环i的问题。
    function submitAll()
    {      
    for(var i=1;i<j;i++){
            eval("document.f"+i+".submit()");
            }
    }请问到底这个延迟的问题出在什么地方?
    这些表单之所以不写到一个表单里,分开些成若干表单,是因为提交到的页面的固定,所有的参数固定,那么只好采取这种比较笨的办法。