0

我目前有这个取消按钮,当用户单击它时 - 它会将他们带到他们所在的上一页。如果他们在未保存的情况下对页面进行了更改,然后单击取消,则会弹出一个窗口,询问他们是否要在不保存更改的情况下离开页面。单击“是离开页面”时,消息再次出现,我必须再次单击“是”。因此,相同的消息两次不确定为什么会发生这种情况,以及是否有更好的方法可以返回上一页。

这是我的取消按钮代码:

<a href="javascript:goBack(); " class="glossyBtn">
 <img alt="" style="vertical-align: middle" src="<%:Url.Content("~/Content/blueprint/plugins/buttons/icons/cross.png")%>" />
    <span style="vertical-align: middle">Cancel</span>
</a>


<script type="text/javascript">
    function goBack() {
        window.history.back();
    }
</script>

此外,如果一个人在页面上并且他们进行了更改然后保存 - 使用保存的信息重新加载同一页面,但如果用户单击取消,他们将在加载之前返回到同一页面,并且必须再次单击取消以获取所有离开页面。有没有更好的方法来处理这个?

4

2 回答 2

3

window.history.back();不会像你期望的那样工作。如果要重定向到上一页,请使用window.location

 function goBack() {
        window.location = 'YOUR URL'; //specify the url to redirect
 }

更新您的评论:

是的,只需将参数传递给函数。

function goBack(url) {
       window.location = url; //specify the url to redirect
}

在您的<a>标签中调用这样的函数,

<a href="javascript:goBack('http://www.stackoverflow.com'); " class="glossyBtn">
于 2012-10-04T03:37:33.817 回答
0

history.back()如果手动清除浏览器历史记录将无法工作,因此请使用 window.location.href

于 2012-10-04T03:42:24.960 回答