以下两个用JavaScript编写的脚本之间的区别是什么?

时间:2014-04-15 14:49:37

标签: javascript jquery

我已经关注了为同一目的编写的两个javascript代码段,但只有一个正在运行。为什么这样?

工作脚本如下:

<script language="javascript"> 
    function Redirect(){
      window.location.assign("login.php")
    }
  </script>

<button type="button" class="btn btn-primary" name="cancel" id="cancel" onClick="return Redirect()">Cancel</button>

不可行的代码如下:

<button type="submit" class="btn btn-primary" name="submit" id="submit" value="" onclick="javascript:window.location.href='login.php'">Back</button>

但是我希望脚本只能像第二个那样编写。虽然它有效但我不能使用第一种方法。任何人都可以更正第二个代码片段并使其像第一个脚本一样可行吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

不使用提交,请尝试使用输入类型按钮...

<input type="button" class="btn btn-primary" name="submit" id="submit" value="Back" onclick="javascript:window.location='login.php'" />

答案 1 :(得分:-2)

  1. 工作脚本使用window.location.assign(),而非工作代码尝试直接设置window.location.href

  2. 您的第二个示例也使用提交按钮,而您的第一个示例使用常规按钮。由于您没有从点击处理程序返回false,因此表单会被提交,而您设置href的事实也是无效的。除非您实际提交表单,否则请勿使用提交按钮。