首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax 多图上传有关问题 预览有关问题

2012-03-18 
ajax 多图上传问题 预览问题 - Web 开发 / Ajax如下代码,ie7中无法打开,ie8中没有预览按钮。ff添加按钮无效

ajax 多图上传问题 预览问题 - Web 开发 / Ajax
如下代码,ie7中无法打开,ie8中没有预览按钮。ff添加按钮无效。新手求高手帮忙解决


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
 <script src="jquery-1.3.2.min.js" type="text/javascript"></script> 
<script type="text/javascript">  
//全局变量
var FileCount=8;//上传文件总数
 //添加上传文件按钮
 function addFile(obj)
 {
  var filePath=$(obj).prev().val();
  var FireFoxFileName="";
  //FireFox文件的路径需要特殊处理 
  if($.browser.mozilla) 
  {
  FireFoxFileName=filePath;
  filePath=$(obj).prev()[0].files.item(0).getAsDataURL();
  }
  if(!checkFile(filePath,FireFoxFileName))
  {
  $(obj).prev().val("");
  return;
  }
  if(filePath.length==0)
  {
  alert("请选择上传文件");
  return false;
  }
  FileCount++;
  //添加上传按钮
  var html='<span>';
  html+='<input id="f'+FileCount+'" name="'+FileCount+'" type="file"/> ';
  html+='<input type="button" value="添加" onclick="addFile(this)"/>';
  html+='</span>';
  $("#fil>span").hide();//隐藏之前的上传按钮
  $("#fil").append(html);
  //添加图片预览
  html='<li>';
  html+='<img id="img'+(FileCount-1)+'" src="'+filePath+'" width="100" height="100" alt="暂无预览" />';
  html+='<br/>';
  html+='<a href="#" name="img'+(FileCount-1)+'" onclick="DelImg(this)">删除</a>';
  html+='</li>';
  $("#ImgList").append(html);
 }
 //删除上传文件(file以及img)
 function DelImg(obj)
 {
  var ID=$(obj).attr("name");
  ID=ID.substr(3,ID.length-3);
  $("#f"+ID).parent().remove();
  $(obj).parent().remove();
  return false;
 }
  //检查上传文件是否重复,以及扩展名是否符合要求
function checkFile(fileName,FireFoxFileName)
{
  var flag=true;
  //文件重复判断
  $("#ImgList>li>img").each(function(){
  if($.browser.msie && ($.browser.version=="6.0"||$.browser.version=="7.0"))//IE6和7特殊处理
  { 
  var tempFileName="file:///"+fileName.replace(/\\/g,"/");
  tempFileName=tempFileName.replace(/\s+/g, "%20");
  if(tempFileName==$(this).attr("src"))
  {
  alert('上传文件中已经存在\''+fileName+'\'!');
  flag=false;
  return;
  }
  } 
  if(fileName==$(this).attr("src"))
  {
  flag=false;
  if(FireFoxFileName!='')
  {
  alert('上传文件中已经存在\''+FireFoxFileName+'\'!');
  }
  else
  {
  alert('上传文件中已经存在\''+fileName+'\'!');
  }
  return;
  }
  });
  //文件类型判断
  var str="jpg|jpeg|bmp|gif";
  var fileExtName=fileName.substring(fileName.indexOf(".")+1);//获取上传文件扩展名
  if(FireFoxFileName!='')//fireFox单独处理
  {
  fileExtName=FireFoxFileName.substring(FireFoxFileName.indexOf(".")+1);
  }
  //alert(fileExtName);
  if(str.indexOf(fileExtName.toLowerCase())==-1)
  {


  alert("只允许上传格式为jpg,jpeg,bmp,gif的文件。");
  flag=false;
  }
  return flag;
}

</script>  
<style type="text/css">  
  .fil
  {  
  width:300px;
  }
  .fieldset_img
  {
  border:1px solid blue;
  width:550px;
  height:180px;
  text-align:left;

  }
  .fieldset_img img
  {
  border:1px solid #ccc;
  padding:2px;
  margin-left:5px;
  }
  #ImgList li 
  {
  text-align:center;
  list-style:none;
  display:block;
  float:left;
  margin-left:5px;
  }
</style>  
</head>  
<body>  
<p>选择上传图片:
<div id="fil" class="fil">
  <span>
  <input type="file" id="f0" name="f0" />
  <input type="button" value="添加" onclick="addFile(this)"/>
  </span>
</div> 
</p>
<div id="ok">
<fieldset class="fieldset_img">
<legend>上传图片预览</legend>
<ul id="ImgList">
</ul>
</fieldset>
</div>
 </body>
</html>

[解决办法]

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <title> New Document </title> <script src="jquery-1.3.2.min.js" type="text/javascript"></script>  <script type="text/javascript">   //全局变量var FileCount=8;//上传文件总数 //添加上传文件按钮 function addFile(obj) {  var filePath=$(obj).prev().val();  var FireFoxFileName="";  //FireFox文件的路径需要特殊处理    if($.browser.mozilla)    {  FireFoxFileName=filePath;  filePath=$(obj).prev()[0].files.item(0).getAsDataURL();  }  if(!checkFile(filePath,FireFoxFileName))  {  $(obj).prev().val("");  return;  }  if(filePath.length==0)  {  alert("请选择上传文件");  return false;  }  FileCount++;  //添加上传按钮  var html='<span>';  html+='<input id="f'+FileCount+'" name="'+FileCount+'" type="file"/> ';  html+='<input type="button" value="添加" onclick="addFile(this)"/>';  html+='</span>';  $("#fil>span").hide();//隐藏之前的上传按钮  $("#fil").append(html);  //添加图片预览  html='<li>';  html+='<img id="img'+(FileCount-1)+'" src="'+filePath+'" width="100" height="100" alt="暂无预览" />';  html+='<br/>';  html+='<a href="#" name="img'+(FileCount-1)+'" onclick="DelImg(this)">删除</a>';  html+='</li>';  $("#ImgList").append(html); } //删除上传文件(file以及img) function DelImg(obj) {  var ID=$(obj).attr("name");  ID=ID.substr(3,ID.length-3);  $("#f"+ID).parent().remove();  $(obj).parent().remove();  return false; }  //检查上传文件是否重复,以及扩展名是否符合要求function checkFile(fileName,FireFoxFileName){  var flag=true;  //文件重复判断  $("#ImgList>li>img").each(function(){  if($.browser.msie && ($.browser.version=="6.0"||$.browser.version=="7.0"))//IE6和7特殊处理  {    var tempFileName="file:///"+fileName.replace(/\\/g,"/");  tempFileName=tempFileName.replace(/\s+/g, "%20");  if(tempFileName==$(this).attr("src"))  {  alert('上传文件中已经存在\''+fileName+'\'!');  flag=false;  return;  }  }    if(fileName==$(this).attr("src"))  {  flag=false;  if(FireFoxFileName!='')  {  alert('上传文件中已经存在\''+FireFoxFileName+'\'!');  }  else  {  alert('上传文件中已经存在\''+fileName+'\'!');  }  return;  }  });  //文件类型判断  var str="jpg|jpeg|bmp|gif";  var fileExtName=fileName.substring(fileName.indexOf(".")+1);//获取上传文件扩展名  if(FireFoxFileName!='')//fireFox单独处理  {  fileExtName=FireFoxFileName.substring(FireFoxFileName.indexOf(".")+1);  }  //alert(fileExtName);  if(str.indexOf(fileExtName.toLowerCase())==-1)  {  alert("只允许上传格式为jpg,jpeg,bmp,gif的文件。");  flag=false;  }  return flag;}</script>   <style type="text/css">     .fil  {     width:300px;  }  .fieldset_img  {  border:1px solid blue;  width:550px;  height:180px;  text-align:left;  }  .fieldset_img img  {  border:1px solid #ccc;  padding:2px;  margin-left:5px;  }  #ImgList li    {  text-align:center;  list-style:none;  display:block;  float:left;  margin-left:5px;  }</style>   </head>   <body>   <p>选择上传图片:<div id="fil" class="fil">  <span>  <input type="file" id="f0" name="f0" />  <input type="button" value="添加" onclick="addFile(this)"/>  </span></div>  </p><div id="ok"><fieldset class="fieldset_img"><legend>上传图片预览</legend><ul id="ImgList"></ul></fieldset></div> </body></html> 


[解决办法]

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>    <title>New Document </title>    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>    <script type="text/javascript">   //全局变量var FileCount=8;//上传文件总数 //添加上传文件按钮 function addFile(obj) {  var filePath=$(obj).prev().val();  var FireFoxFileName="";  //FireFox文件的路径需要特殊处理    if($.browser.mozilla)    {  FireFoxFileName=filePath;  filePath=$(obj).prev()[0].files.item(0).getAsDataURL();  }  if(!checkFile(filePath,FireFoxFileName))  {  $(obj).prev().val("");  return;  }  if(filePath.length==0)  {  alert("请选择上传文件");  return false;  }  FileCount++;  //添加上传按钮  var html='<span>';  html+='<input id="f'+FileCount+'" name="'+FileCount+'" type="file"/> ';  html+='<input type="button" value="添加" onclick="addFile(this)"/>';  html+='</span>';  $("#fil>span").hide();//隐藏之前的上传按钮  $("#fil").append(html);  //添加图片预览  html='<li>';  html+='<img id="img'+(FileCount-1)+'" src="'+filePath+'" width="100" height="100" alt="暂无预览" />';  html+='<br/>';  html+='<a href="#" name="img'+(FileCount-1)+'" onclick="DelImg(this)">删除</a>';  html+='</li>';  $("#ImgList").append(html); } //删除上传文件(file以及img) function DelImg(obj) {  var ID=$(obj).attr("name");  ID=ID.substr(3,ID.length-3);  $("#f"+ID).parent().remove();  $(obj).parent().remove();  return false; }  //检查上传文件是否重复,以及扩展名是否符合要求function checkFile(fileName,FireFoxFileName){  var flag=true;  //文件重复判断  $("#ImgList>li>img").each(function(){  if($.browser.msie && ($.browser.version=="6.0"||$.browser.version=="7.0"))//IE6和7特殊处理  {    var tempFileName="file:///"+fileName.replace(/\\/g,"/");  tempFileName=tempFileName.replace(/\s+/g, "%20");  if(tempFileName==$(this).attr("src"))  {  alert('上传文件中已经存在\''+fileName+'\'!');  flag=false;  return;  }  }    if(fileName==$(this).attr("src"))  {  flag=false;  if(FireFoxFileName!='')  {  alert('上传文件中已经存在\''+FireFoxFileName+'\'!');  }  else  {  alert('上传文件中已经存在\''+fileName+'\'!');  }  return;  }  });  //文件类型判断  var str="jpg|jpeg|bmp|gif";  var fileExtName=fileName.substring(fileName.indexOf(".")+1);//获取上传文件扩展名  if(FireFoxFileName!='')//fireFox单独处理  {  fileExtName=FireFoxFileName.substring(FireFoxFileName.indexOf(".")+1);  }  //alert(fileExtName);  if(str.indexOf(fileExtName.toLowerCase())==-1)  {  alert("只允许上传格式为jpg,jpeg,bmp,gif的文件。");  flag=false;  }  return flag;}    </script>    <style type="text/css">     .fil  {     width:300px;  }  .fieldset_img  {  border:1px solid blue;  width:550px;  height:180px;  text-align:left;  }  .fieldset_img img  {  border:1px solid #ccc;  padding:2px;  margin-left:5px;  }  #ImgList li    {  text-align:center;  list-style:none;  display:block;  float:left;  margin-left:5px;  }</style></head><body>    <p>        选择上传图片:        <div id="fil" class="fil">            <span>                <input type="file" id="f0" name="f0" />                <input type="button" value="添加" onclick="addFile(this)" />            </span>        </div>    </p>    <div id="ok">        <fieldset class="fieldset_img">            <legend>上传图片预览</legend>            <ul id="ImgList">            </ul>        </fieldset>    </div></body></html> 

热点排行