以下代码, 在file的输入框内输入文字, 
按下F5或者后退出错, 为什么啊?
请指教
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <SCRIPT LANGUAGE="JavaScript">
  <!--
function keyEvent()
{
if ((event.keyCode == 116) || (event.keyCode == 8))
{
event.keyCode = 32;
event.cancelBubble = false;
event.returnValue = false;
return false;
}
}
  //-->
  </SCRIPT>
 </HEAD> <BODY onkeydown="keyEvent()">
  <INPUT TYPE="file" VALUE="click">
 </BODY>
</HTML>

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <SCRIPT LANGUAGE="JavaScript">
      <!--
        function keyEvent(event)
        {
    event = event || window.event;
            if ((event.keyCode == 116) || (event.keyCode == 8))
            {
                event.keyCode = 32;
                event.cancelBubble = false;
                event.returnValue = false;
                return false;
            }
        }
      //-->
      </SCRIPT>
     </HEAD> <BODY onkeydown="keyEvent(event)">
      <INPUT TYPE="file" VALUE="click">
     </BODY>
    </HTML>
      

  2.   

    报错在event.keyCode = 32;这行!
      

  3.   

    event.keyCode 
    IE,火狐下边定义不一样的,火狐下好像不叫keyCode
    你用的那个浏览器
      

  4.   

    试了下,event.keyCode不可用被赋值
      

  5.   

    当file input中有值的时候,按F5就报错,看来楼主是害怕用户上传文件后刷新,但是很显然,这个功能没实现了,因为当input file有值的时候F5貌似又能用了
      

  6.   


    Js代码
    <script     language="javascript">          
    //禁止用F5键          
    function     document.onkeydown()          
    {          
              if     (     event.keyCode==116)          
                {          
                        event.keyCode     =     0;          
                        event.cancelBubble     =   true;          
                      return   false;          
                }          
    }          
               
    //禁止右键弹出菜单          
    function     document.oncontextmenu()          
    {          
          return   false;          
    }          
               
    //下面代码实现全屏显示          
    function     window.onload(){          
          var     Request     =   new     Array();//保存参数          
          var     s     =     location.search.substring(1);          
          if     (s     &&     s!=""){          
          var     list     =     s.split("&");          
    for     (var     i=0;     i     <     list.length;     i++){          
    var     pair     =     list[i].split("=");          
    if     (pair[0]     &&     pair[0]     !=""){          
    Request[unescape(pair[0])]     =     unescape(pair[1]);          
    }          
    }          
            }          
               
          var     fullscreen=Request["fullscreen"];          
          if(fullscreen!="yes"){          
          var     file     =self.location;          
          var     a     =     window.open("about:blank","","fullscreen=yes")          
            self.opener=null          
            self.close()          
            a.location=file     +   "?fullscreen=yes";          
            }          
    }          
    </script>      
    <script language="Javascript"><!--       
    //屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键       
    //Author: meizz(梅花雨) 2002-6-18       
    function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键       
    function window.onhelp(){return false} //屏蔽F1帮助       
    function document.onkeydown()       
    {       
    if ((window.event.altKey)&&       
    ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←       
    (window.event.keyCode==39))) //屏蔽 Alt+ 方向键 →       
    {       
    alert("不准你使用ALT+方向键前进或后退网页!");       
    event.returnValue=false;       
    }       
    /* 注:这还不是真正地屏蔽 Alt+ 方向键,
    因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
    用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
    有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/       
    if ((event.keyCode==8) || //屏蔽退格删除键       
    (event.keyCode==116)|| //屏蔽 F5 刷新键       
    (event.ctrlKey && event.keyCode==82)){ //Ctrl + R       
    event.keyCode=0;       
    event.returnValue=false;       
    }       
    if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11       
    if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n       
    if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10       
    if (window.event.srcElement.tagName == "A" && window.event.shiftKey)       
    window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页       
    if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4       
    {       
    window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");       
    return false;       
    }       
    }       
    </script>   
      

  7.   

    试试//屏蔽Backspace
    function onKeydownNoBackspace() {
        var c = event.keyCode;
        if (c == 8) {
            event.returnValue = false;
        }
    }
      

  8.   

    function(evt){evt=(evt)?evt:((window.event)?window.event:"")
    var key=evt.keyCode?evt.keyCode:evt.which;if(key==38||key==40){updownkey(key);return false;}