2018-04-24前端验证账号密码是否输入/语言选择下拉菜单/验证码

1. 验证账号密码是否输入

HTML
<button type="button" form="loginForm" id="btnlogin" onclick="dosubmit()"/> 登陆
先将登陆按钮的type从submit转为button
form属性绑定表单
因为submit类型会直接提交表单数据,改为button再加上onclick事件可以实现
JS部分

var login=$('#btnlogin');
var username=$("#username");
var psw=$("#psw");
var yanzheng=$("#yanzheng");
var correctYanzheng='heti';
function dosubmit () {
    if(username.val()==''){
        alert('请输入用户名');
    }else if(psw.val()==''){
        alert('请输入密码');
    }else if(yanzheng.val()==''){
        alert('请输入验证码');
    }else if(yanzheng.val()!=correctYanzheng){
        alert('验证码错误');
    }else{
        loginForm.submit();
    }
}

注意:jquery获取input的值是.val()而不是.value()

后台admin.js
先进行简单验证,账号密码正确了就渲染管理页,不正确会提示错误

router.post('/idVerify',function (req,res,next) {
    var username=req.body.username
    var password=req.body.password
    var yanzheng=req.body.yanzheng
    console.log('render(admin)'+username);
    if(username=='admin'&&password=='admin'){
        console.log('render(admin)'+username);
        res.render('admin');
    }else{
        res.render('login',{mes:'账号或者密码错误'});//传入错误的参数
    }
})

前端接受到参数,利用swig模板,将mes打印出来

<div id="log">
   {{mes}}
</div>

本地测试没有问题,但是上传到服务器又有问题了

实际上,重启服务器就没什么问题了

2. 首页语言选择下拉菜单,将功能实现了一下


HTML

<select name="lang"class="form-control"id="selLang">
    <option value="1">日语</option>
    <option value="2">韩语</option>
    <option value="3">西班牙语</option>                     
</select>

有两个div,一开始加班模块是隐藏的,只有查不到结果的时候才会显示

<!--歌曲列表-->
<div class="row" id="musicList">
    {% for val in datas %}
    <div class='col-md-3'>
        <a href='/api/play?hash={{val.Hash}}'>
            <img src='{{val.img}}'/>
            <p>{{val.songname}} - {{val.author}}</p>
        </a>
    </div>
    {% endfor %}
    </div>
    <div class="jiaban">
        此版块还在加班中。。。
    </div>
</div>

CSS

.jiaban{
    display: none;
    font-size:48px ;
    color: #C0C0C0;
    margin-top: 230px;
    text-align: center;
    padding: 20px;
}

JS

$('select#selLang').change(function(){
    switch ($(this).val()){
        case '1':
            console.log('1');
            alang('Jap');
                break;
        case '2':
            alang('Korean');
             break;
        case '3':
            console.log('3');
            alang('Spanish');
                 break;
        }
    })

    function alang (lang) {
        $.ajax({
            type:"get",
            url:"/",
            data:{lang:lang},
            success:function  (data) {
                if (data=='unfinish') {
                    $('#musicList').hide();
                    $('.jiaban').css('display','block');
                }else{
                    $('#musicList').show();
                    $('.jiaban').css('display','none');
                }
            }
        });

main.js

router.get('/',function (req,res,next) {
    var lang=req.query.lang||'Jap';//默认语言为日语
    User.find(
        {Status:{$lt:2},lang:lang}//<2
    ).then(function (info) {
        if(info.length!=0){
            res.render('index',{datas:info});
        }else{
            res.send('unfinish');
            console.log('不存在');
        }
    });
});

3. 完善了登陆时验证码功能

新增加了checkCode.js文件

主要有两个函数:
1.createCode(),创建验证码
2.validate(),验证验证码

var code ; //在全局定义验证码 
//产生验证码 
window.onload=function createCode(){ 
    code = ""; 
    var codeLength = 4;//验证码的长度 
    var checkCode = document.getElementById("code"); 
    var random = new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R', 
    'S','T','U','V','W','X','Y','Z');//随机数 
    for(var i = 0; i < codeLength; i++) {//循环操作 
        var index = Math.floor(Math.random()*36);//取得随机数的索引(0~35) 
        code += random[index];//根据索引取得随机数加到code上 
    } 
    checkCode.innerHTML = code;//把code值赋给验证码 
} 
//校验验证码 
function validate(){ 
    var inputCode = document.getElementById("yanzheng").value.toUpperCase(); //取得输入的验证码并转化为大写 
    if(inputCode.length <= 0) { //若输入的验证码长度为0 
        alert("请输入验证码!"); //则弹出请输入验证码 
    } else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时 
        alert("验证码输入错误!"); //则弹出验证码输入错误 
        createCode();//刷新验证码 
        document.getElementById("input").value = "";//清空文本框 
    } else { //输入正确时 
        return true; 
    } 
}

将login.html的js部分改成如下

var login=$('#btnlogin');
var username=$("#username");
var psw=$("#psw");
function dosubmit () {
    if(username.val()==''){
        alert('请输入用户名');
    }else if(psw.val()==''){
        alert('请输入密码');
    }else if(validate()){//验证码在输入无误时会返回true
        loginForm.submit();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容