为了账号安全,请及时绑定邮箱和手机立即绑定

js后台报错然后跳转回登录界面时,提示的错误信息却一闪而过的问题,不知道如何处理,求解啊

js后台报错然后跳转回登录界面时,提示的错误信息却一闪而过的问题,不知道如何处理,求解啊

慕粉3901988 2016-10-09 17:10:31
一个用户登录界面里的小问题:输入用户名之后在点击登录按钮时:如果后台发现用户名不存在,会跳转回登录界面,并把之前的录入的用户名称跟密码以及错误信息显示回登录界面上,问题出现了:错误信息(比如提示用户名不存在)回填到界面却一闪就消失了,js的 focus方法里有 清除错误信息的代码,我感觉程序自动又走了一遍focus方法,所以提示信息就一闪而过,如何避免这种问题的发生呢。像验证码可以用ajax校验,但在输入用户名时我没有使用ajax,因为自己总感觉如果用户名提示的太快了,账号容易被破解
查看完整描述

1 回答

已采纳
?
一瞬儿光

TA贡献178条经验 获得超70个赞

听你的描述,首先你是在点击登录后,不论账号密码对错,立即有一个跳转,然后后台进行判断了,再跟据结果进行跳转,你每次跳转都是刷新页面,输入的信息自然就没有了。

解决方法:

首先,你得这种处理就是很不好的,一般应该是输入信息后,点击提交后,将数据提交到后台,然后进行判断,再将判断结果返回前端,前端根据结果进行跳转或者提示,这里用到ajax。

其次,就当你不愿这么做,你可以在提交的时候,将输入信息拼接在url上,跳转的时候,再次拼接url,跳转结束后,将url里的信息取出并和你的提示信息一块重新写入表单。


查看完整回答
反对 回复 2016-10-09
  • 慕粉3901988
    慕粉3901988
    if(errors.size() > 0) {//保存用户信息以及错误提示,跳转后数据回填登陆界面 req.setAttribute("form", formUser); req.setAttribute("errors", errors); return "f://jsps//user//regist1.jsp"; } <label id="loginnameError" class="error">${errors.loginname}</label> 这是转发页面之后,用${errors.loginname}把错误信息重新回填界面的,但是这个错误信息只是一闪而过,我不知道为啥会一闪而过,感觉像是缓存弄得,假如有缓存的话,这个时候账号会自动回填到文本框中,是不是这个时候页面自动执行了focus方法,将错误信息清空了?
  • 一瞬儿光
    一瞬儿光
    你尝试先返回页面再回填错误信息
  • 慕粉3901988
    慕粉3901988
    是呢,我这个就是先 return "f://jsps//user//regist1.jsp 返回页面的,然后jsp里将用户信息用el表达式回填到界面上的,但最终登陆界面上的用户名却不是我用js设置的用户名,问题好像就出现在系统执行了我的回填界面信息的js之后,又偷偷的做了:将另一个之前的用户名赋值给界面上的用户名的事,还有密码框也是如此。我找遍了程序,也没有另外对用户名设置的代码
点击展开后面1
  • 1 回答
  • 0 关注
  • 5628 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信