JavaScript_form表单验证:采用focus()事件处理;

// form表单验证:非空、密码确认;
// 思路:采用focus()来进行验证;
window.onload = checkForms;

function checkForms() {
    document.getElementById("userName").focus();
    var form, field;
    // 循环每个form表单:
    for(var i=0, len=document.forms.length; i<len; i++) {
        form = document.forms[i];
        form.onsubmit = function() {
            return validform(this);    
        }
        for(var j=0, k=form.length; j<k; j++) {
            field = form[j];
            if(field.id !="" && field.className !="") {
                // 句柄函数
                field.onblur = function() {
                    fieldblur(this);    
                }
            }
        }
    }
}

function validform(form) {
    var f;
    for(var n=0, s=form.length; n<s; n++) {
        f = form[n];
        if(f.type=="text" || f.type=="password") {
            if(f.value == "") {
                f.className = "invalid";
                f.focus();
                return false;    
            }
            if(f.id == "passwd2") {
                var pw1 = document.getElementById("passwd1").value;
                if(f.value != pw1) {
                    f.focus();
                    f.select();
                    f.className = "invalid";
                    return false;    
                }
            }
        }
    }
    return true;
}

function fieldblur(field) {
    if(field.value =="") {
        field.className = "invalid";    
    } else {
        // 归位;
        fieldreset(field);
    }
}

function fieldreset(field) {
    switch(field.id) {
        case "userName":
        case "passwd1":
            field.className = "reqd";
            break;
        case "passwd2":
            field.className = "reqd passwd1";
            break;
        default:
            break;
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值