当我在IE7下填加完一个上传项,点击上传可是出现一个错误就是“拒绝访问”,这个是为什么呢?可是我在火狐下就没有这个错误,请兄弟们帮帮忙:注:我在javascript中已经设置Form所有的属性了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title><style type="text/css">
<!--
.font1 {
font-family: "宋体";
font-size: 12px;
font-weight: normal;
}
.files {
width: 90px;
height: 30px;
overflow: hidden;
display: block;
border: 1px solid #BEBEBE;
background: url(images/fu_btn.gif) left top no-repeat;
text-decoration: none;
}
.file {

}
#form1 .font1 .Loading {
border: 1px solid #000099;
}
a:hover {
color: #FF3366;
}
a:link {
color: #0000CC;
}
a:visited {
color: #0000CC;
}
a:active {
color: #FF3366;
}
-->
</style>
<script language="javascript">function $(id){
return document.getElementById(id);
}
function CreateFile(){
var url=null;
var file=document.createElement("input");
var a=document.createElement("a");
var table=document.createElement("table");
var tbody=document.createElement("tbody");
// file.style.visibility="hidden";
a.href="javascript:void(0)";
a.innerHTML="取消";
a.onclick=function(){
$("fileUp").removeChild(table);
// $("files").removeChild(file);
}

var tr=new Array(2);
var td=new Array(4);
var tdid=new Array(4);
tdid[0]="UpUrl";
tdid[1]="Cancel";
tdid[2]="Load";
tdid[3]="Loadnum"; for(var i=0;i<2;i++){
tr[i]=document.createElement("tr");
tbody.appendChild(tr[i]);

for(var j=(i*2);j<(i+1)*2;j++){
td[j]=document.createElement("td");
td[j].id=tdid[j];
td[j].name=tdid[j];
if(j%2==0){
td[j].width="414";
td[j].align="left";
td[j].height="25";
}else{
td[j].width="70";
td[j].align="center";
td[j].height="15";
}

tr[i].appendChild(td[j]);
}
}
file.id="file";
file.type="file"; if(navigator.appName.indexOf('Netscape')!=-1){
file.width=314;
td[0].appendChild(file);
file.name="file";
}else{
// file.style.display="none";
file.name="file";
$("files").appendChild(file);
file.click();
url=file.value;
if(url==null || url==""){
$("files").removeChild(file);
file=null;
return;
}
td[0].innerHTML=url;
}

td[1].appendChild(a);
td[2].innerHTML="<div class='Loading'><img src='images/loading.jpg' title='下载进度' width='100%' height='5' id='Loadimg'/></div>";
td[3].innerHTML="0%";
table.appendChild(tbody);
table.border=0;
table.cellspacing=0;
table.cellpadding=0;
table.width=484; $("fileUp").appendChild(table);
}
</script>
</head><body>
<form id="form1" name="form1" method="post" action="Upload.action">
  <table width="623" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC" class="font1">
    <tr>
      <td height="25" colspan="2" bgcolor="#F9F9F9">上传文件</td>
    </tr>
    <tr>
      <td width="69" align="right" bgcolor="#FFFFFF">添加文件:</td>
      <td width="531" height="25" bgcolor="#FFFFFF" id="files"><input id="addFile" type="button" class="files" value=" " /></td>
    </tr>
    <tr>
      <td height="25" colspan="2" bgcolor="#FFFFFF"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
          <tr>
            <td height="25" bgcolor="#F9F9F9">文件路径</td>
          </tr>
          <tr>
            <td height="25" bgcolor="#FFFFFF" id="fileUp"><!--
<table width="484" border="0" cellspacing="0" cellpadding="0">
              <tr>
<td width="414" height="25" id="UpUrl">C:\Documents and Settings\Administrator\桌面\16426828.jpg</td>
                <td width="70" height="25" align="center" id="Cancel"><a href="javascript:void(0)" id="lianjie">取消</a></td>
              </tr>
              <tr>
                <td height="15" id="Load"><div class="Loading"><img src="images/loading.jpg" title="下载进度" width="100%" height="5" id="Loadimg"/></div></td>
                <td height="15" align="center" id="Loadnum">100%</td>
              </tr>
            </table>
--> </td>
          </tr>
      </table></td>
    </tr>
    <tr>
      <td height="12" colspan="2" bgcolor="#FFFFFF">温馨提示:可同时上传多个文件,只允许上传 <strong id="idExt">gif,jpg,rar,zip,iso,swf,mp3</strong>文件。</td>
    </tr>
    <tr>
      <td height="12" colspan="2" align="center" bgcolor="#FFFFFF" id="running"><input type="button" id="UpLoads" value="开始上传" />
      <input type="button" id="exit" value="全部取消" /></td>
    </tr>
  </table></form>
<iframe name="a_hidden" style="display:none"></iframe>
</body>
<script language="javascript">function $$(name){
return document.getElementsByName(name);
}
$("addFile").onclick=function(){
CreateFile();
}
$("UpLoads").onclick=function(){
var i=0;
// alert($$("Cancel").length);
for(;i<$$("file").length;i++){

if($$("file")[i].value==null || $$("file")[i].value==""){
// $("file").removeChild(file)
$$("file")[i].name=null
}
}
if(i==0){
return;
}
// var div=document.createElement("iframe");
// div.style.visibility="hidden";
// div.id="a_hidden";
// div.name="a_hidden";
// $("files").appendChild(div);
// alert($$("Cancel").length);
for(var c=0;c<$$("file").length;c++){
if(navigator.appName.indexOf('Netscape')==-1){
$$("Cancel")[c].innerHTML="";
// $$("UpUrl")[c].innerHTML=$$("file")[c].value;
}
}
$("form1").action="Upload.action";
$("form1").target="a_hidden";
$("form1").enctype="multipart/form-data";
$("form1").submit();
$("UpLoads").disabled=true;
$("exit").disabled=false;
$("files").innerHTML="正在上传请稍后";


}
$("exit").onclick=function(){
$("Loadimg").width=$("Loadimg").width*0.7;
}</script>
</html>

解决方案 »

  1.   

    楼主把 file Element的onkeydown事件设置为 false 试试看
      

  2.   

    楼主 你要知道IE7 和火狐 的内部实现是有些不同的
    还有你的
    <form   id= "form1 "   name= "form1 "   method= "post "   action= "Upload.action "> 
    没有这个属性
    enctype="multipart/form-data"
    一般上传文件 都要这个属性的
    你试试看
    希望有帮助哦
    ^_*