不用alert提示的非空表单验证

  在做表单的非空验证时,可以用alert()输出提示框来给用户相应的提示。但是,这样的用户体验不佳。可以通过添加元素来改变提示的样式,

    首先做一个简单的用户名登录界面,

<form id="testform" action="1025.html">
        <label id="label1" for="test_txt">用户名:</label>
        <input type="text" id="test_txt"><br id="br1"/>
        <label id="label2" for="test_pass">密码&nbsp;&nbsp;&nbsp;</label>
        <input type="password" id="test_pass"><br id="br2"/>
        <input type="submit" id="test_btn" value="提交" onClick="return yanZheng()">
</form>

效果如下:

                

创建函数如下:

    function yanZheng()
    {
        var text = document.getElementById("test_txt");
        var btn = document.getElementById("test_btn");
        var form = document.getElementById("testform");
        var br1 = document.getElementById("br1");
        var pass = document.getElementById("test_pass");
        var br2 = document.getElementById("br2");
        
        if(text.value.trim()=="")//为空并且去除空格
        {
            var label1 =document.createElement("label");//添加一个label元素来承载提示字符
            label1.setAttribute("for","test_txt");//给添加label元素指定关联的表单元素
            form.insertBefore(label1,br1);//把添加的元素放到指定位置,form代表父级,label1是要添加的子节点,br1表示被添加的节点(添加在其前面)
            text.labels[1].innerHTML = "请输入用户名" ;//指定添加元素的内容,因为有两个label,所以新添加序号的为1
            text.labels[1].setAttribute("style","font-size:9px;color:red");//给内容添加样式
            return false;//返回值
        }
        else if(pass.value.trim()=="")//为空并且去除空格
            {
                
                var label2 =document.createElement("label");//添加一个label元素来承载提示字符
                label2.setAttribute("for","test_pass");//给添加label元素指定关联的表单
                form.insertBefore(label2,br2);//把添加的元素放到指定位置,form代表父级,label2是要添加的子节点,br2示被添加的节点(添加在其前面)
                pass.labels[1].innerHTML = "请输入密码" ;//指定添加元素的内容,因为有两个label,所以新添加
                pass.labels[1].setAttribute("style","font-size:9px;color:red");//给内容添加样式
                
                return false;//返回值
            }
            else
            {
                
                return true;//返回值
            } 
    }

 

  这样就可以进行简单的非空验证了,效果如下:

    用户名为空:

                

    密码为空:

                

    

  

 

 

  

转载于:https://www.cnblogs.com/zxbs12345/p/7921697.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值