因为点击链接时还需要传递隐形参数,所以调用javascript来处理
//a.php:
.....
echo " <a href='' onclick=\"nextPage('$name','$mask')\">$name </a>";
//javascript:function nextPage(cName,maskAddr)
{
    document.open();
    document.write(" <form action='b.php?name="+cName+"' name='form1' method='post'>");
    document.write(" <input type='hidden' name='mAddr' value='"+maskAddr+"'>");
    document.write(" </form>");
    document.form1.submit();
    document.close();
 
}这段代码在ie下是可以运行的,但是在mozilla 的seamonkey下没有任何反应。请问哪里有错吗?mozilla是在系统linux下运行的。是这个浏览器不认吗?我之前用document.其它参数都挺好用的阿。

解决方案 »

  1.   

    我单独运行document.write("hello")也不行,但是把这个语句加在上面那段代码里,就能显示hello,但是立刻它就跳回到 a.php页面,没有转到b.php去。应该不是浏览器不认document.write()这个函数,难道是不认后面的html代码?
      

  2.   

    document.open(); //去掉这句试试
      

  3.   

    我已经知道问题在哪了。是  document.form1.submit(); 这句的问题,mozilla家的不认。document.write("<"+"script type='text/javascript'>setTimeout(function(){document.getElementById('form1').submit()},100);</"+"script>");//延迟一下再提交
    这样就ok了。 也是别人教我的。又学到一招