与window.history.back()不一致

时间:2013-04-01 19:34:37

标签: javascript jquery

我在MVC视图中有以下代码,我用来测试window.history.back()

enter image description here

如果用户单击段落标记内的链接(以红色突出显示),window.history.back()将按预期执行。它将我带回到上一页,并在该页面上维护状态。但是,如果用户单击该按钮,我不会得到相同的行为。重新加载当前视图,或者至少尝试重新加载当前页面。但它失败了。如果执行jQuery并不重要,或者我在Button onClick中调用window.history.back()调用,就会发生同样的事情。

可能有用的一条信息。该按钮位于HTML.BeginForm中,而段落标记中的行不是。

任何人都知道为什么会这样吗?

2 个答案:

答案 0 :(得分:7)

浏览器可能会将按钮解释为提交按钮并提交表单,从而导致页面刷新。添加type="button"会阻止这种情况。

<button type="button">Cancel</button>

答案 1 :(得分:3)

$('#cancelButton').click(function(e){
    e.preventDefault();

    /* ... code ... */
});