首页 > 代码库 > 表单提交时如何将错误信息传递到页面中,并且保存原来提交数据
表单提交时如何将错误信息传递到页面中,并且保存原来提交数据
曾经何时,你还有我或许都在困惑,如何方便的将验证不通过的表单信息再返回到前台页面,例如我注册一个账号,辛辛苦苦填写了N多项,一个格式验证没有通过,一切都需要充填,虽然Ajax可以解决这个问题,但是我们总不能把所有表单提交都弄成ajax,更何况有若干人就是没事把javascript给禁止了。哎哎,好了解决方案来了,下面以用户登录为例,说说我的解决方案。
服务器端用nodejs实现:
login.html 简单的提交表单
<form action="" id="loginForm" method="post"> <!--如果提交的信息由用户信息将用户信息填充到表单中--> <label>手机:</label> <input type="text" class="wk_table_input" name="user[mobile]" placeholder="手机号" id="mobile" value=http://www.mamicode.com/""/>
>
function login(req, res, next) { //如果用户提交了信息,将信息返回到前端页面 var user = req.body.user; res.render("login", {title:‘用户登录‘, user:user }); };function loginAction(req, res, next) { var user = req.body.user; if(!user || !user.mobile || !user.pwd) { if (req.xhr) { res.json({ret:-1, errMsg:‘手机号或密码不能为空‘}); } else { res.locals.error = ‘手机号或密码不能为空‘; login(req, res, next); } } else { if (user.mobile === ‘12345678901‘ && user.pwd === ‘123456‘){ if (req.xhr){ res.json({ret:0,errMsg:"",backUrl:""}); } else { res.redirect("/home"); } } else { //将错误信息放到locals中,然后调用视图函数 res.locals.error = "用户名或密码错误"; login(req, res, next); } } });? res.locals.error = ‘手机号或密码不能为空‘;
login(req, res, next);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。