用法是这样的:
<form action="" method="POST" name="Form1" id="Form1" onsubmit="javascript:return checkRegForm(this);">....<input name="Type" type="text" id="Type"  checkReg="\S{1,}" warning="类型不能为空 ! ">
<input name="Submit" type="submit"   value="提交">
</form>

解决方案 »

  1.   

    太长了,FF里面有错误控制台的,或者你下个Firebug看看哪错了吧
      

  2.   

    把这个包含进去绝对可以了(取自My97DatePicker2.1)if(navigator.product == 'Gecko')
    {
    Window.prototype.__defineGetter__("screenLeft",function(){
           return this.screenX+(this.outerWidth-this.innerWidth);
           });

    Window.prototype.__defineGetter__("screenTop",function(){
           return screenY+(window.outerHeight-window.innerHeight);
           });
    Document.prototype.attachEvent = function(sType,fHandler){
    var shortTypeName=sType.replace(/on/,"");
    fHandler._ieEmuEventHandler=function(e){
    window.event=e; return fHandler();
    }
    this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);
    }
    Document.prototype.createStyleSheet = function(cssPath){
    var head = document.getElementsByTagName('HEAD').item(0); 
    var style = document.createElement('link'); 
    style.href = cssPath; 
    style.rel = 'stylesheet';
    style.type = 'text/css';
    head.appendChild(style);
    }
    Event.prototype.__defineSetter__("returnValue",function(value){
    if(!value){this.preventDefault();} return value;});
    Event.prototype.__defineGetter__("srcElement",function(){
    var node = this.target;
    while(node.nodeType!=1){node = node.parentNode;}
    return node;
    });
    Node.prototype.replaceNode=function(Node){ this.parentNode.replaceChild(Node,this);}
    Node.prototype.removeNode=function(removeChildren){
    if(removeChildren){
    return this.parentNode.removeChild(this);}
    else{
    var range=document.createRange();
    range.selectNodeContents(this);
    return this.parentNode.replaceChild(range.extractContents(),this);
    }
    }
       HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){
           var r=this.ownerDocument.createRange();
           r.setStartBefore(this);
           var df=r.createContextualFragment(sHTML);
           this.parentNode.replaceChild(df,this);
           return sHTML;
           });
       
       HTMLElement.prototype.__defineGetter__("outerHTML",function(){
           var attr;
           var attrs=this.attributes;
           var str="<"+this.tagName;
           for(var i=0;i<attrs.length;i++){
               attr=attrs[i];
               if(attr.specified)
                   str+=" "+attr.name+'="'+attr.value+'"';
               }
           if(!this.canHaveChildren)
               return str+">";
           return str+">"+this.innerHTML+"</"+this.tagName+">";
           });
       
    HTMLElement.prototype.__defineGetter__("parentElement",function(){
    if(this.parentNode==this.ownerDocument)return null;
    return this.parentNode;
    }); HTMLElement.prototype.attachEvent = function(sType,fHandler)
    {
           var shortTypeName = sType.replace(/on/,"");
           fHandler._ieEmuEventHandler = function(e){
       window.event=e;return fHandler();
           }
           this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);
        }

    HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
           switch(where){
               case "beforeBegin":
                   this.parentNode.insertBefore(parsedNode,this);
                   break;
               case "afterBegin":
                   this.insertBefore(parsedNode,this.firstChild);
                   break;
               case "beforeEnd":
                   this.appendChild(parsedNode);
                   break;
               case "afterEnd":
                   if(this.nextSibling)
                       this.parentNode.insertBefore(parsedNode,this.nextSibling);
                   else
                       this.parentNode.appendChild(parsedNode);
                   break;
               }
           }
    HTMLElement.prototype.getBoundingClientRect = function(){
    var obj = this;
    var top = obj.offsetTop;     
    var left = obj.offsetLeft; 
    var right = obj.offsetWidth; 
    var bottom = obj.offsetHeight; 
    while( obj = obj.offsetParent ) {  
    if ( obj.style.position=='absolute' || obj.style.position=='relative' || ( obj.style.overflow!='visible' && obj.style.overflow!= '') ) { 
    break; 
    }  
    top += obj.offsetTop; 
    left += obj.offsetLeft; 
    }

    left -= document.body.scrollLeft;
    top  -= document.body.scrollTop;
    right += left;
    bottom += top;
    return {'left':left,'top':top,'right':right,'bottom':bottom};
    }
    HTMLIFrameElement.prototype.__defineGetter__("Document",function(){return this.contentDocument});
    }
      

  3.   

    加了个几个FF没有的方法和 HTML元素的属性