Javascript 与window.history.back()不一致
我在MVC视图中有以下代码,用于测试window.history.back() 如果用户单击段落标记中的链接(以红色突出显示),window.history.back()将按照我的预期执行。它将我带回到上一页,并在该页上维护状态。但是,如果用户单击按钮,我不会得到相同的行为。重新加载当前视图,或者至少尝试重新加载当前页面。但它失败了。不管是执行jQuery,还是将window.history.back()调用放在按钮onClick中,都会发生同样的事情 一条可能有用的信息。按钮位于HTML.BeginForm中,而段落标记中的行不在其中Javascript 与window.history.back()不一致,javascript,jquery,Javascript,Jquery,我在MVC视图中有以下代码,用于测试window.history.back() 如果用户单击段落标记中的链接(以红色突出显示),window.history.back()将按照我的预期执行。它将我带回到上一页,并在该页上维护状态。但是,如果用户单击按钮,我不会得到相同的行为。重新加载当前视图,或者至少尝试重新加载当前页面。但它失败了。不管是执行jQuery,还是将window.history.back()调用放在按钮onClick中,都会发生同样的事情 一条可能有用的信息。按钮位于HTML.B
有人知道为什么会发生这种情况吗?浏览器可能将该按钮解释为提交按钮并提交表单,从而导致页面刷新。添加
type=“button”
将防止出现这种情况
$('#cancelButton').click(function(e){
e.preventDefault();
/* ... code ... */
});
<button type="button">Cancel</button>
取消
添加type=“button”
以确保它不会被解释为提交按钮。@KevinB-就是这样!我这方面的愚蠢疏忽。如果你将此创建为答案,我将接受它。这节省了我的时间。非常感谢你。对于我来说,甚至不在表单中的按钮也发生了这种情况:/这完全修复了它。