关于jsp页面刷新后老是置顶的问题

在实现页面功能时,遇到页面刷新后滚动条回到顶部且数据清空的用户体验问题。通过使用JavaScript的cookie来保存滚动位置和用户输入的数据。在页面加载时,从cookie中恢复滚动位置和数据,提高了用户体验。具体实现包括设置和获取cookie的函数,以及在页面加载时恢复滚动位置和输入值的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做实现一个页面功能时,由于页面高度很大。体验的人要滑动滚动条到达低端才能进行数据填写,一旦填写错误,验证码输入有误时,当进行了后台验证(我的验证码是在后台验证的,生成的一个验证码我会放入SESSION中,将前台输入的验证码传到后台与之从SESSION中取到的值对比)前台页面就会进行刷新置顶,而且填写的数据会清空,搞的用户体验不好:

我采用的是如下方法,(cookie)

function GetCookie (name) 
{
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while (i < clen)
   {
       var j = i + alen;
       if (document.cookie.substring(i, j) == arg)
       return getCookieVal (j);
       i = document.cookie.indexOf(" ", i) + 1;
       if (i == 0) break; 
   }
 return null;
}


function getCookieVal (offset) 
{
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1)
     endstr = document.cookie.length;
     return unescape(document.cookie.substring(offset, endstr));
   }
function SetCookie (name, value) 
   {
     document.cookie = name + "=" + escape (value)
   }
function SetCookie1 (name, value) //设置COOKIE值带时间的(有效期的)
{
  var Days = 30;  
   var exp = new Date();  
   exp.setTime(exp.getTime() + 30 * 2000);//过期时间 1分钟 
   document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();  
}
function getScrollTop(){   //获取滚动条位置
    var scrollTop=0;   
    if(document.documentElement&&document.documentElement.scrollTop){   
        scrollTop=document.documentElement.scrollTop;   
    }else if(document.body){   
        scrollTop=document.body.scrollTop;   
    }   
    return scrollTop;   

页面底部有一个点击按钮,触发事件时,我会通过getScrollTop获取当前滚动条位置,将其放入cookie中

         SetCookie1('posy',getScrollTop());//这是带时间的cookie
var phonenum=document.getElementById('phone').value;//取用户填的号码值

SetCookie("phonenum",phonenum);将号码放入COOKIE中

这样,一旦页面刷新后会执行

$(function() {
var phonenum1=GetCookie("phonenum");//从Cookie中获取号码
document.documentElement.scrollTop =GetCookie('posy');;//有效滚动条
document.getElementById('phone').value=phonenum1;

});

这样页面就会加载到你之前滚动条的位置,而且也会赋值你之前填写的数据!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值