【发布时间】:2016-12-25 10:55:53
【问题描述】:
我这里有个情况。我有一个包含隐藏值的表单。当用户单击浏览器后退按钮时,应提交表单。我已经控制了后退按钮,但还没有找到浏览器后退按钮的解决方案。这是我的代码。
表格
<form id="movevalue" action="/media" method="post">
<input type="hidden" id="pagedetail" name="pagedetail" value="<?php echo $pagenumber; ?>" />
<input type="submit" value="" style="display:none" />
</form>
这是我的脚本。
脚本
<script>
$(function(){
$(document).bind("keydown keypress", function(e){
if( e.which == 8 ){ // 8 == backspace
$('#movevalue').submit();
}
});
});
window.onbeforeunload = function(evt)
{
if (typeof evt == 'undefined')
$('#movevalue').submit()
}
</script>
window.onbeforeunload 这对我不起作用。
【问题讨论】:
-
backspace不是浏览器的后退按钮。只是要确定。 ;) -
您确实需要处理离开页面。仅处理一个按键无法解决您的问题,因为用户可以使用后退按钮、鼠标按钮或滚轮,而且它不是所有浏览器中的退格键(例如,Chrome 中的 alt + left)。
-
@eisbehr 是的,它不是,但在退格的帮助下它会转到上一页
-
我应该怎么做@Archer
-
我认为您需要解释您的要求,因为这听起来像是您修复某些问题的想法,但这是个坏主意。表单提交会将用户重定向到
action属性中指定的 url。您在这里所说的是您希望用户在单击后退按钮时被重定向到该页面。您不应更改默认浏览器行为。
标签: javascript php jquery html forms