在我的 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 Controller 方法的 url。在该方法中,它操作数据库并返回一个字符串以重定向到它来自的页面:return“redirect:”+redirectUrl。
问题是该按钮不起作用。当我单击该按钮时,页面会刷新,但数据库中的数据不会被操作。我知道这不是 spring Controller 方法的问题的原因有两个:
- 我在 Controller 方法中有一个断点,但没有被击中。
- 当我使用相同的
doFunction()
代码并在 Chrome 开发者控制台上运行它时, Controller 方法断点被命中,并且数据库中的数据发生更改。
有知道为什么会发生这种情况吗?
最佳答案
从按钮中删除类型提交
<button onclick="doFunction()" type="button" ...>Button</button>
type="submit"用于表单提交,这就是 onclick 不起作用的原因。
关于javascript - 按钮 onclick Javascript 函数失败,但函数有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595854/