按钮onclick javascript函数失败,但函数工作

时间:2013-10-25 17:18:39

标签: javascript html function button javascript-events

所以在我的html文档中我有这个:

<button onclick="doFunction()" type="submit" ...>Button</button>

该功能如下所示:

doFunction() {
    var goToThisUrl = "www.spring_controller_method.com?redirectUrl=this_page";
    window.location.href = goToThisUrl;
}

doFunction()中的url是Java Spring控制器方法的url。在该方法中,它操纵数据库并返回一个字符串以重定向到它来自的页面:return“redirect:”+ redirectUrl。

问题是该按钮不起作用。单击该按钮时,页面将刷新,但不会处理数据库中的数据。我知道这不是弹簧控制器方法的问题的原因是由于两个原因:

  • 我在控制器方法中有一个断点,它没有被击中。
  • 当我使用相同的doFunction()代码并在Chrome开发人员控制台上运行它时,会触发控制器方法断点,并更改数据库中的数据。

有没有想过为什么会发生这种情况?

2 个答案:

答案 0 :(得分:4)

按钮中删除提交类型
<button onclick="doFunction()" type="button" ...>Button</button>

type =“submit”用于表单提交,这就是onclick无效的原因。

答案 1 :(得分:-1)

添加return false;以阻止默认表单提交。

doFunction() {
    var goToThisUrl = "www.spring_controller_method.com?redirectUrl=this_page";
    window.location.href = goToThisUrl;
    return false;
}