regInputRestriction(document.all.onlyNumber,/^[0-9]*$/); ---
document.all 只在ie下有用
换成 document.getElementById("")即可!

解决方案 »

  1.   

    请问是这样用吗?
    例如:document.all.onlyNumber 替换为:document.getElementById.onlyNumber吗?
      

  2.   

    换了之后还是不能用在firefox下面的啊.我是这么处理的..
    document.all.onlyNumber 替换为:document.getElementById("onlyNumber")
    在火狐下仍然是不好使的..
      

  3.   

    parentElement()加个括号干什么?
      

  4.   

    大家谁见过呢?我没有用过firefox真不知道哪些元素在ff上面不支持啊.
    高手给个指示吧...
      

  5.   

    没用过ff啊,不知道还有哪些在ff下不支持啊.恳请高手指示下啊.在线等.急急急
      

  6.   

    1
    ff好象不支持onpaste和ondrag2
    你创建Range对象错误,而且使用了ff不支持的Range对象的方法和属性,具体ff的Range对象是方法和属性我也不搞不清楚.
    下面是创建range对象的代码
    var docSel;
    if(docoment.createRange)//ff和标准2级dom
      docSel=document.createRange();
    else if(document.selection&&document.selection.createRange)//ie
      docSel=document.selection.createRange();
      

  7.   

    不知道该改成对应的什么方法啊?没用过ff的,最ff知知甚少..
      

  8.   

    我帮你改了一下,在ff不能粘贴,只能输入.
    但是有一个小问题,ff时就是把内容拖进文本框时不知道怎么限制<html> 
    <head> 
    <title> 
    TD Testing ! 
    </title> 
    </head> 
    <SCRIPT language="javascript">     
        <!--start     
        /*     
      * added by LxcJie 2004.6.11     
      * 约束输入框的内容     
      * 适用于IE5.0及以上版本     
      * oObj: 输入框控件对象     
      * reg: 正则表达式     
      * isChinese:是否允许打开输入法,true 允许打开,即允许输入中文,false 不能打开,默认为不允许打开     
      * usage:     
      *     
      *   //只能输入数字和大小写字母     
      *   <BODY onLoad="regInputRestriction(document.all.txt,/^[0-9a-zA-Z]*$/)">     
      *   <input id="txt">     
      * </BODY>     
      */     
        function regInputRestriction(oObj,reg,isChinese)     
        {     
          function regInput(obj, reg, inputStr)     
          {     
            var docSel   = document.selection.createRange();     
            if (docSel.parentElement().tagName.toLowerCase() != "input")     
             return false;     
            oSel = docSel.duplicate();     
            oSel.text = "";       
            var srcRange = obj.createTextRange();       
            oSel.setEndPoint("StartToStart", srcRange);       
            var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length);       
            return reg.test(str);       
          }     
         //限制输入法是否允许打开     
         if(isChinese == null)     
          isChinese = false;     
         if(isChinese)     
          oObj.style.imeMode = "auto";     
         else     
          oObj.style.imeMode = "disabled";     
          
         //注册事件,在ie下时注册onkeypress,ff时改为注册onkeydown事件,要不无法获取event的keyCode
         if(document.all)
         {
           oObj.onkeypress=function()     
           {     
             return regInput(this,reg,String.fromCharCode(event.keyCode));//输入时激发     
           }     
         }
         else
           oObj.onkeydown = EventHandler;  //ff改为onkeydown事件
      
         function EventHandler(e)//===========此为ff的方法
         {
           e=e||event;
           if(e.ctrlKey)//禁止粘贴
             return false;
           //不为“<-键”,“Delete键”和方向键时
           else if(e.keyCode!=8&&e.keyCode!=46&&e.keyCode!=37&&e.keyCode!=38&&e.keyCode!=39&&e.keyCode!=40)
             return reg.test(String.fromCharCode(e.keyCode));
         }  
         //下面为ie的方法,在ff下不知道怎么限制   
          oObj.onpaste = function()     
          { 
            return regInput(this,reg,window.clipboardData.getData('Text'));//粘贴时激发     
          }   
          
          oObj.ondrop = function(e)     
          {     
            e=e||event;
            return regInput(this,reg,event.dataTransfer.getData('Text'));//拖拽时激发     
          }     
        }     
        //-->     
        </SCRIPT>     
        <script language="javascript">     
        function initForm()     
        {     
        regInputRestriction(document.getElementById('onlyNumber'),/^[0-9]*$/); 
        }     
        </script>     
        <BODY onLoad="initForm()">     
        <INPUT id="onlyNumber"> 只能输入数字 <br> <br> 
        </BODY> 
    </html>