简单测试代码如下:<script > 
 function count() {
alert ("aaa");
window.location.href="http://www.google.com";
}
</script>
<form action="a.php" method="post" name="form" onsubmit="count()" >
<input type="submit" value="按钮1"/></form><input type="submit" value="按钮2" onclick="window.location.href='http://www.google.com'" />按钮1的跳转无法执行,为什么???但是提示的"aaa"可以弹出!!!

解决方案 »

  1.   

    在 form 中<input type="submit" value="按钮1"/>  这个按钮动作发生时 window.location.href 指向表单的URL, 
      

  2.   


    这个submit的按钮执行后,应该是执行form里面的onsubmit="count()"那个JavaScript的函数啊.
      

  3.   


    我理解你的意思了,问题是,这个问题怎么解决?我要在script里面判断之后跳转的不同页面呢~
      

  4.   


    呵呵....不是吧,当表单的 action 不为空时, 当触发提交表单动作发生时,window.location.href会指向表单的URL,(估计可以这样理解)这时外部函数修改的window.location.href的值会被忽略;所以你需要在根据判断后提交 不同的URL,那么在 form 的action置空,应该在JS中指定form的action的URL
      

  5.   


    <script> 
    function count() {  
    window.location.href="http://www.google.com"; 

    </script> 
    <!-- 加return false阻止form的默认行为 -->
    <form action="a.php" method="post" name="form" onsubmit="count(); return false" > 
    <input type="submit" value="按钮1"/> </form> <input type="submit" value="按钮2" onclick="window.location.href='http://www.google.com'" />
      

  6.   

    给个大概例子,根据你的情况修改....<script language="javascript">
    function count() {
    alert ("aaa");
    window.location.href="http://www.google.com";if(条件1)
       document.form1.action="a.php";
    else if(条件2)
       document.form1.action="b.php";   
    else //默认
       document.form1.action="c.php";document.form1.submit();
    return true;
    }
    </script>
    <form action="" method="post" name="form1id="form1" onsubmit="count()" >
    <input type="submit" value="按钮1"/> 下了...
      

  7.   

    <input type="submit" value="按钮1"/> =》<input type="button" value="按钮1"/> 做js函数触发