先发个例子<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >
<html lang="en">
<head>
    <title></title>
    <script src="Util.js"></script>
    <script src="Listener.js"></script>
    <script src="Validator.js"></script>
    <script src="BaseValidators.js"></script>
    <script src="ElementValidator.js"></script>
    <script src="FormValidator.js"></script>
</head>
<body>
    <script>
     window.onload = function(){
        //ElementValidator.builderElement("abc");
        //ElementValidator.builderElement("abc2");
        //ElementValidator.builderElement("temp");
        /*ElementValidator.builderElement("temp1",
            "[{v:'presence',m:'不能为空'},{v:'inclusion',p:['abc','bcd'],m:'只能为abc或bcd'},{v:aaa,p:'xx',m:'错了'}]",
            true,'temp1_msg','');*/
        var fv = FormValidator.builderFormValidator("form1");
        fv.add(ElementValidator.builderElement("temp1",
            "[{v:'presence',m:'不能为空'},{v:'inclusion',p:['abc','bcd'],m:'只能为abc或bcd'},{v:aaa,p:'xx',m:'错了'}]",
            true,'temp1_msg',''));
     }
     //自定义验证方法
      function aaa(e,p){
        this.returnValue = true ;
      }  
    </script>
    <form id="form1" action="abc.htm" onsubmit="return false ;">
    <input id="abc" validator="{v:'len',p:{min:3,max:5},m:'长度应在3到5位之间'}" msgTarget="abc_msg" isblur="true" type="text" />
    <span id="abc_msg"></span>
    <input id="abc2" validator="[{v:'presence',m:'不能为空'}]" msgTarget="abc2_msg" isblur="true" type="text"/>
    <span id="abc2_msg"></span>
    <input id="temp" validator="[{v:'presence',m:'不能为空'},{v:'isNumber',m:'必须为数字'}]" msgTarget="temp_msg" isblur="true" type="text"/>
    <span id="temp_msg"></span>
    <input id="temp1"/>
    <span id="temp1_msg"></span>
    <input type="submit"/>
    </form>
</body>
</html>

解决方案 »

  1.   

    贴一段出来与大家分享function Validator(){}
    Validator.builderValidator=function(f){
        var validtor = new Validator();
        var params = [] ;
        Listener.apply(validtor);
        validtor.valid = function(p){
            params = p ;
            this.runState = Validator.RUN_STATE_GOING ;
            this.exec(Validator.Event.GOING);
            f.apply(this,params);
            if(!this.asyn){//同步修改运行状态
                this.runState = Validator.RUN_STATE_OVER ;
                this.exec(Validator.Event.OVER);
            }
        }
        validtor.parseAsyn = function(f){
            this.asyn = true ;
            return (function(){
                var p = [];
                Util.Array.eachArray(arguments,function(i){
                    p.push(i);
                });
                Util.Array.eachArray(params,function(i){
                    p.push(i);
                });
                f.apply(this,p)
                this.runState = Validator.RUN_STATE_OVER ;
                this.exec(Validator.Event.OVER);
            });
        }
        return validtor;
    }
    /*验证状态*/
    Validator.RUN_STATE_INIT=0;//初始状态
    Validator.RUN_STATE_GOING=1;//验证中
    Validator.RUN_STATE_OVER=2;//验证结束
    /**/
    Validator.Event = {
        GOING:"going",
        OVER:"over"
    } ;
    Validator.prototype.runState = Validator.RUN_STATE_INIT ;//验证状态
    Validator.prototype.asyn = false ;
    Validator.prototype.returnValue = false ;Validator.prototype.valid = function(p){}
    //解析回调方法
    Validator.prototype.parseAsyn = function(f){}
      

  2.   

    //注p在index里面,p的可能取值是0,2,1
    var index = 3;
    function showDetail(p){$("#userInfo p").click(
    function(){
    for(var i=0; i<index; i++){
    $("#userInfo index").removeClass('acss a');
    $(this).removeClass('acss a').addClass('acss a');
    }
    }
    );}
    怎样才能把javascript的var变量,放到id属性中????急急急