• jquery表单验证


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <!--   引入jQuery -->
    <script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
            //如果是必填的,则加红星标识.
            $("form :input.required").each(function(){
                var $required = $("<strong class='high'> *</strong>"); //创建元素
                $(this).parent().append($required); //然后将它追加到文档中
            });
             //文本框失去焦点后
            $('form :input').blur(function(){
                 var $parent = $(this).parent();
                 $parent.find(".formtips").remove();
                 //验证用户名
                 if( $(this).is('#username') ){
                        if( this.value=="" || this.value.length < 6 ){
                            var errorMsg = '请输入至少6位的用户名.';
                            $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
                        }else{
                            var okMsg = '输入正确.';
                            $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
                        }
                 }
                 //验证邮件
                 if( $(this).is('#email') ){
                    if( this.value=="" || ( this.value!="" && !/.+@.+.[a-zA-Z]{2,4}$/.test(this.value) ) ){
                          var errorMsg = '请输入正确的E-Mail地址.';
                          $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
                    }else{
                          var okMsg = '输入正确.';
                          $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
                    }
                 }
            }).keyup(function(){
               $(this).triggerHandler("blur");   
    //triggerHandler目的:当用户将光标定位到文本框上和改变文本框的值时,表单就会即使提醒用户填写是否正确(输入时就可以提醒,可以做到及时提醒)
    // http://jquery.cuishifeng.cn/triggerHandler.html
    }).focus(
    function(){ $(this).triggerHandler("blur"); });//end blur
    /*
    triggerHandler:这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作,也不会产生事件冒泡。

                     这个方法的行为表现与trigger类似,但有以下三个主要区别:

                       * 第一,他不会触发浏览器默认事件。

                       * 第二,只触发jQuery对象集合中第一个元素的事件处理函数。

                       * 第三,这个方法的返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回 undefined 。

                */

    参数


    //提交,最终验证。 $('#send').click(function(){ $("form :input.required").trigger('blur'); // trigger 在每一个匹配的元素上触发某类事件。使用:http://jquery.cuishifeng.cn/trigger.html

              var numError = $('form .onError').length;
              if(numError){
                        return false;
                    } 
                    alert("注册成功,密码已发到你的邮箱,请查收.");
             });
    
            //重置
             $('#res').click(function(){
                    $(".formtips").remove(); 
             });
    })
    //]]>
    </script>
    </head>
    <body>
    
    <form method="post" action="">
        <div class="int">
            <label for="username">用户名:</label>
            <input type="text" id="username" class="required" />
        </div>
        <div class="int">
            <label for="email">邮箱:</label>
            <input type="text" id="email" class="required" />
        </div>
        <div class="int">
            <label for="personinfo">个人资料:</label>
            <input type="text" id="personinfo" />
        </div>
        <div class="sub">
            <input type="submit" value="提交" id="send"/><input type="reset" id="res"/>
        </div>
    </form>
    
    </body>
    </html>
  • 相关阅读:
    人月神话阅读笔记03
    学习进度十六
    计算最长英语链
    学习进度十五
    人月神话阅读笔记02
    找“水王”
    学习进度十四
    用户体验评价
    学习进度十三
    学习进度十二
  • 原文地址:https://www.cnblogs.com/a757956132/p/4995052.html
Copyright © 2020-2023  润新知