动态设置上传文件enctype类型

 更新时间:2016年9月20日 19:02  点击:1930

动态设置上传文件enctype类型以下是最常见上传文件片段 
<form id="upform" name="upform" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile[]" />
<input type="file" name="uploadfile[]" />
<button type="submit" >upload</button>
</form>
有点js知识得人可能试图用js检查并控制enctype得类型
 


form=document.getElementById('upform');
if(form.getAttribute('enctype')!='multipart/form-data'){
    form.setAttribute('enctype','multipart/form-data');
}
以上代码完全按照W3C格式
FF下运行良好 但是IE不兼容,其它浏览器可以不兼容,就IE不能不兼容
在看YUI类库时得到启发
IE中form没有enctype属性,只有encoding属性,那么以上代码改写为
 


form=document.getElementById('upform');
if(form.getAttribute('enctype')!='multipart/form-data'&&form.encoding!='multipart/form-data')
  if(form.encoding){
      form.setAttribute('encoding','multipart/form-data');
  }else{
      form.setAttribute('enctype','multipart/form-data');
  }
}
//最外成if判断可以去掉 因为你是要设置它可以上传文件
这样你可以试试这样得代码了
 


<script type="text/javascript">
function upload(form){
  if(form.encoding){
      form.setAttribute('encoding','multipart/form-data');
  }else{
      form.setAttribute('enctype','multipart/form-data');
  }
  form.setAttribute('method',post');
  if(!form.getAttribue('action')){
      form.setAttribute('action',location.href);
  }
  form.submit();
}
</script>
<form action="upload.php" onsubmit="try{upload(this);}catch(e){};return false;">
<input type="file" name="uploadfile[]" />
<input type="file" name="uploadfile[]" />
<button type="submit" >upload</button>
</form>

网页制作常用代码一请问如何去掉主页右面的滚动条?
<body scroll="no">
<body style="overflow-y:hidden">
********************************
怎样不使用页面的缓存?即每一次打开页面时不是调用缓存中的东西
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
********************************
请问如何忽视右键?
<body oncontextmenu="return false">
********************************
怎样在同一页面内控制不同链接的CSS属性?
a:active{}
a:link{}
a:visited{}

a.1:active{}
a.1:link{}
a.1:visited{}
在DW的CSS中定义一个新的标示,按照HTML的语法,超级连接得是
A.YOURS:LINK A.YOURS:HOVER
YOURS可以改作你自己的字
然后在选中某个连接后,在CSS面版中点中YOURS即可。
按需要,你可以定义N个标示,N种鼠标OVER的效果
********************************
电子邮件处理提交表单
<form name="form1" method="post" action="mailto:webmaster@" enctype="text/plain">
<input type=submit>
</form>
********************************
有没有可能用层来遮住FLASH?
1.在flash的parameters里加入 <param name="wmode" value="transparent">
2.<body onblur=self.focus()>
********************************
如何根据屏幕分辨率调用相对应的页面?
onclick=alert("你的显示分辩率为:"+screen.width+"×"+screen.height)
先做好几个页面,比如一个htm1.htm是800*600,一个是htm2.htm是1024*768的
然后在你的入口页面 index.htm 中判断:
<html>
<head>
<script language=javascript>
<!--
function mHref() {
if (screen.width == 1024) location.href = "htm2.htm";
else if (screen.width == 800) location.href = "htm1.htm";
else return(false);
}
//-->
</script>
</head>
<body onload="mHref();">
</body>
</html>
********************************
如何弹出只有状态栏的窗口?
<html>
<head>
<title>open() close()</title>
<script language="javascript" type="text/javascript">
<!--
function openWin()
{
var newWin=open("","","menubar=1,height=200");
newWin.document.write("<form>");
newWin.document.write("单击以下按钮关闭窗口:<p>");
newWin.document.write("<input type=button value='关闭' onclick=window.close()>");
newWin.document.write("</form>");
}
</script></head>
<body>
<div align=center>
<h2>单击以下按钮显示新窗口...</h2>
<form name=form1>
<input type=button value="新窗口1[只显示地址栏]" onclick=window.open('','new1','location=1')>
<input type=button value="新窗口2[只显示状态栏]" onclick=window.open('','','status=1')>
<input type=button value="新窗口3[只显示工具栏]" onclick=window.open('','new2','toolbar=1,height=200,width=450')>
<input type=button value="新窗口4[只显示菜单栏]" onclick=openWin()>
<input type=button value="新窗口5[一个不少]" onclick=window.open('','new5')>
<input type=button value="新窗口6[光棍但可调大小]" onclick=window.open('http:///forumdisplay.php?forumid=32#thread','new6','resizable=1')>
</form>
</div>
</body>
</html>

<div id="d1"></div>
<script >
function createButton(){
         var obj = document.createElement("button");
          obj.innerHTML="点我!";
          obj.onclick=function(){
                      //处理click事件
            }
          obj.onmouseover=function(){
                   //处理mouseover事件
         }
        return obj;//这里由于需要返回创建的对象,所以不能把obj直接设为null. return 后obj是局部变量,不能在外部断开其与HTMLElement的引用.ie中将出现问题泄漏问题
}
var 按钮 = document.getElementsById("d1").appendChild( createButton());
按钮.做某些事();
按钮.做某些事();
........
某些东西.某些事(按钮);
......
</script>


这种写法在IE中100%内存泄漏

使用try finally很容易解决些问题
function createButton(){
         var obj = document.createElement("button");
          obj.innerHTML="点我!";
          obj.onclick=function(){
                      //处理click事件
            }
          obj.onmouseover=function(){
                   //处理mouseover事件
         }
        try{
            return obj;
        }finally{
              obj = null;//这句话在return 之后才执行 , 的效的解决了需在return后将obj置null的问题
       }
}


一个函数或方法中,其实有很多地方都需要这种选返回值,最后执行某些事的

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="imagetoolbar" content="no">
<title>js数组实现</title>
<style>
<!--
body{text-align:center;}
table{
 border:0px;
}
.sp{
 width:520px;
 height:400px;
 border:2px solid #FFCC00;
 text-align:center;
 line-height:400px;
}
.sn{
 width:520px;
 height:30px;
 text-align:center;
 line-height:30px;
}
img{
 border:0px; 
 cursor:pointer;
}
-->
</style>
<script language="javascript">
<!--
var photo=new Array(4);
var photoname=new Array(4);


photo[0]="photo/1.jpg"
photoname[0]="柳梦璃"

photo[1]="photo/2.jpg"
photoname[1]="韩菱纱"

photo[2]="photo/3.jpg"
photoname[2]="云天河"

photo[3]="photo/4.jpg"
photoname[3]="慕容紫英"


currid=0

function showphoto(){
currid=currid+1;
if(currid>=4){
currid=0;
}
inphoto.src=photo[currid];
fn.innerHTML=photoname[currid];
}
-->
</script>

</head>
<body>

<table>
 <tr>
  <td class="sp"><img name="inphoto" src="photo/1.jpg" onclick="showphoto()" alt="点击图片显示下一张"></td>
 </tr>
 <tr>
  <td class="sn"><span id="fn">柳梦璃</span></td>
 </tr>
 <tr>
  <td class="sn">JS数组实现点击图片显示下一张</td>
 </tr>
</table>

</body>

</html>


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="imagetoolbar" content="no">
<title>翻页原理实现</title>
<style>
<!--
body{text-align:center;}
table{
 border:0px;
}
.sp{
 width:520px;
 height:400px;
 border:2px solid #FFCC00;
 text-align:center;
 line-height:400px;
}
.sn{
 width:520px;
 height:30px;
 text-align:center;
 line-height:30px;
}
img{
 border:0px; 
}
-->
</style>

</head>
<body>

<table>
 <tr>
  <td class="sp"><a href="2.asp?page=4"><img name="inphoto" src="photo/3.jpg" alt="点击图片显示下一张"></a></td>
 </tr>
 <tr>
  <td class="sn"><span id="fn">云天河</span></td>
 </tr>
 <tr>
  <td class="sn">利用翻页原理实现点击图片显示下一张</td>
 </tr>
</table>

</body>

</html>

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29