JS中window.location.replace跳转的问题

输入页号进行分页跳转window.location.replace("user_list.action?currentPage="+_currentPageNO);单这一... 输入页号进行分页跳转

window.location.replace("user_list.action?currentPage=" + _currentPageNO);
单这一句始终失败
如果后加个alert(window.location); 就可以正常跳转
但是很诡异的是 alert显示出来的location地址为上一次的值

搞不明白,是哪里使用错误了,导致无法直接跳转。
先是在input里,限制输入必须为数字,并且截取键盘事件
转到第<input type="text" id="currentPageNo" size="3" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
onKeyDown="enterIn(event);"/>页

然后JS里处理跳转
function enterIn(evt){
............
if (evt.keyCode==13){
..............
window.location.href = "user_list.action?currentPage=" + _currentPageNO;
}
}
太长只能贴这么多
_currentPageNO的值没问题
会不会是onkeyup和onkeydown冲突了?
展开
 我来答
知海淘金
2013-08-14 · TA获得超过318个赞
知道答主
回答量:79
采纳率:0%
帮助的人:73.4万
展开全部
最好把整个js方法贴出来,单单这一句,看不出来
追问
补充了一部分代码
用 replace或者window.location.href直接赋值都不行,在原页面上跳转,无法翻页
很奇怪的是 加上alert(window.location) 弹出提示框后就能跳转了、、
追答
可能是这样的,等你输入完成,按下回车键之后,同样执行了onKeyup动作的代码,此时onkeyDown还没执行完。因为回车按下之后,输入的不是数字,所以currentPageNo的值就替换为空了,enterIn(evt)方法里面一定有对空值得验证,验证不通过下面的代码就不再执行,所以根本就没执行if部分的代码,因此页面也就不跳转了;如果加入一个警告框,警告框出现的时候,阻断了onafterpaste和onkeyup动作后的代码执行,所以就能够跳转。具体是什么样子,你再分析一下,我没有看到完整的代码,不好分析的太准确,关键是最后按的那个回车键。
百度网友026572a
2013-08-14
知道答主
回答量:19
采纳率:0%
帮助的人:21.7万
展开全部
_currentPageNO 这个没有值吧, _ 忘了加引号?
追问
有值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式