JavaScript与表单交互(表单验证模型)

表单验证操作的基本流程:由用户输入表单内容,若输入数据合法则允许提交,否则不提交。
若想针对表单验证进行拦截,则必须使用onsubmit事件,其在<form>元素上定义;表示表单提交时触发,若执行拦截操作,则在onsubmit处理函数上return false,若正常执行,return true。
每个表单初始状态是使用".init"样式,验证失败".wrong"样式,验证成功".right"样式。
最好的验证方式是在文本框失去焦点之后进行验证:获得焦点事件为onfocus,失去焦点事件为onblur。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../css/bd3.css"><!--验证结果框样式-->
    <title>取得输入的文本信息</title>
    <script type="text/javascript">
        function validateEmail(){ //定义事件的处理函数
            var emailElement=document.getElementById("email");
            var msgElement=document.getElementById("emailMsg");//获取提示元素
            //数据验证
            if(/^w+@w+.w+$/.test(emailElement.value)){
                emailElement.className="right";//验证返回不弹出框改样式
                msgElement.innerHTML="<font color='green'>email输入正确!</font>";//添加页面提示内容,并对内容改色
                return true;
            }else {
                emailElement.className="wrong";//验证返回不弹出框改样式
                msgElement.innerHTML="<font color='red'>email输入错误!</font>";//添加页面提示内容,并对内容改色
                return false;
            }
        }
        function validate(){ //返回结果函数调用
            return validateEmail();
        }
    </script>
</head>
<body>
<!-- 表单验证模型 -->
<form id="myform" action="show.html" method="post" onsubmit="return validate()"><!--表单验证返回结果-->
    请输入email地址:<input type="text" name="email" id="email" value="" class="init" onblur="validateEmail()"> <!--文本验证框样式变化-->
    <span id="emailMsg"></span><br/> <!--添加页面提示内容-->
    <button type="submit">显示内容</button>
</form>
</body>
</html>
原文地址:https://www.cnblogs.com/alatar16/p/9511116.html