zoukankan      html  css  js  c++  java
  • javacript参数传递表单验证

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <style type="text/css">
        .red{color: red;}
        .green{color: green;}
        .black{color:#000;}
        .blue{color:blue;}
    </style>
    <body>
    <form action="phptest.php" method="post" id="obb" onsubmit="return intt('oo');">
    Name: <input type="text" name="name" pp="123" id=""/><span>名字是名字</span><br/>
    Age: <input type="text" name="age" value="" /><span>年龄是数字</span><br/>
    <input type="submit" name="submit"> 
    <input type="button" value="sada" id="abc"/>
    </form>
    </body>
    <script type="text/javascript">
    var qq,bb,reg,pattern;
            qq=document.getElementById('obb');
            bb=qq.getElementsByTagName('input');
            pattern=/^[0-9]*[1-9][0-9]*$/;
            reg=/^[s]{0,}$|^[ws]{7,}$/g;
        window.onload=function(){    
            intt();
            document.getElementById("abc").onclick=function(){alert(intt())}
        }
        function check(obj,info,fun,clicks,yes_no){
                obj.onfocus=function(){
                    obj.nextSibling.innerHTML=info;
                    obj.nextSibling.className="blue";
                }
                obj.onblur=function(){
                    if(fun()){
                        obj.nextSibling.innerHTML=info;
                        obj.nextSibling.className="red";
                        yes_no.a = false;
                        //重写传入参数的话改的是参数副本不会影响外部的值的,
                        //如:yes_no=flase;这样是不会修改外面传进来的yes_no1和yes_no2的值的;
                        //所以不能重写传入的参数,但是可以改变参数的属性;
                        //传入基本函数类型只是传如值,传入引用类型的话就是传入变量引用副本地址,
                        //传入后引用函数的副本地址是指向原来外部的引用地址的,如果重写就切断了和外面引用地址的联系,
                        //而引用副本地址会变成新的引用地址,所以和外部没有关系)
                    }
                    else{
                        obj.nextSibling.innerHTML="正确";
                        obj.nextSibling.className="green";
                        yes_no.a = true;
                    }
                }
                if (clicks=='oo') {
                    obj.onblur();
                };
            }
        var yes_no1={},yes_no2={};
        function intt(clicks){    
    
                check(bb[0],"输入点名字",
                    function(){
                        var qq =reg.test(bb[0].value);
                        return qq; 
                    },clicks,yes_no1
                );
                check(bb[1],"输入点名字",
                    function(){
                        var qq =reg.test(bb[1].value);
                        return qq; 
                    },clicks,yes_no2
                );
                if(yes_no1.a&&yes_no2.a)
                    {return true;}
                else
                    {return false};
                
            }
    </script>
    </html>
  • 相关阅读:
    Linux零拷贝技术 直接 io
    纯Python模式
    c 越界 数组越界
    哈希 二叉树
    Cache busting
    sub esp
    lisp 代码即数据
    hexdump
    nmap
    对象 闭包
  • 原文地址:https://www.cnblogs.com/lichuntian/p/javacript.html
Copyright © 2011-2022 走看看