File文件控件,选中文件(图片,flash,视频)即立即预览显示_表单特效

我们平常用file文件控件上传文件,要预览有时会刷新页面,结果file控件被清空,好多人问能能让他不清空或重新赋值,因为处于安全性的考虑,这是不可能的。那怎么进行无刷新预览呢?这里我把我所使用的方法写一下。
选择页面: 

复制代码 代码如下:

<script language="javascript">
function checkData()
{
var fileName=document.getElementById("FileUp").value;
if(fileName=="")
return;
//检查文件类型
var exName=fileName.substr(fileName.lastIndexOf(".")+1).toUpperCase()
if(exName=="JPG"||exName=="BMP"||exName=="GIF")
{
//document.getElementById("myimg").src=fileName;
document.getElementById("previewImage").innerHTML='<img src=\''+fileName+'\' width=100 height=100 >';
}
else
if(exName=="SWF")
{
document.getElementById("previewImage").innerHTML='<embed src=\''+fileName+'\' width=\'100\' height=\'100\' quality=\'high\' bgcolor=\'#f5f5f5\' ></embed>';
}
else
if(exName=="WMV"||exName=="MPEG"||exName=="ASF"||exName=="AVI")
{
var strcode='<embed src=\''+fileName+'\' border=\'0\' width=\'100\' height=\'100\' quality=\'high\' ';
strcode+=' autoStart=\'1\' playCount=\'0\' enableContextMenu=\'0\' type=\'application/x-mplayer2\'></embed>';
document.getElementById("previewImage").innerHTML=strcode;
}
else
{
alert("请选择正确的图片文件");
document.getElementById("FileUp").value="";
}
}
function openwin()
{
window.open("addPreview.aspx","","height=300,width=345,top=100,left=100");
}
</script>

HTML代码:

复制代码 代码如下:

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" ID="Table1">
<tr>
<td width="255" height="100%" valign="middle">
<INPUT id="FileUp" style="WIDTH: 253px; HEIGHT: 22px" type="file" size="23" name="File1"
runat="server" onchange="checkData()"><br>
注:这里可以是图片(jpg或gif格式),flash动画(swf)及视频文件(wmv,mpeg,asf,avi)。大小限定在1M以内。
</td>
<td>
<div id="previewImage">当前页预览</div>
</td>
</tr>
</table>

弹出预览页面:

复制代码 代码如下:

<script language="javascript">
function getstr()
{
var strcode="";
var width=100;
var high=100;
if(self.opener.document.getElementById("FileUp")!=null)
{
//strcode=self.opener.document.getElementById("previewImage").innerHTML;
width=self.opener.document.getElementById("lblWidth").innerText;
high=self.opener.document.getElementById("lblHigh").innerText;
var fileName=self.opener.document.getElementById("FileUp").value;
var exName=fileName.substr(fileName.lastIndexOf(".")+1).toUpperCase()
if(exName=="JPG"||exName=="BMP"||exName=="GIF")
{
//document.getElementById("myimg").src=fileName;
strcode='<img src=\''+fileName+'\' width='+width+' height='+high+' >';
}
else
if(exName=="SWF")
{
strcode='<embed src=\''+fileName+'\' width=\''+width+'\' height=\''+high+'\' quality=\'high\' ></embed>';
}
else
if(exName=="WMV"||exName=="MPEG"||exName=="ASF"||exName=="AVI")
{
strcode='<embed src=\''+fileName+'\' border=\'0\' width=\''+width+'\' height=\''+high+'\' quality=\'high\' ';
strcode+=' autoStart=\'1\' playCount=\'0\' enableContextMenu=\'0\' type=\'application/x-mplayer2\'></embed>';
}
}
if(self.opener.document.getElementById("txtADCode")!=null)
{
strcode=self.opener.document.getElementById("txtADCode").innerHTML;
}
if(strcode!="")
{
//window.alert(fileName);
document.getElementById("showimg").innerHTML=strcode;
}
}
</script>

显示:

复制代码 代码如下:

<div id="showimg"></div>

时间: 2024-07-28 18:45:53

File文件控件,选中文件(图片,flash,视频)即立即预览显示_表单特效的相关文章

得到文本框选中的文字,动态插入文字的js代码_表单特效

复制代码 代码如下: <script language="javascript" src="js/settags.js"></script>  function AppTag(tagcode)  {   document.PostMessage.Message.value += tagcode;  }  function InsertTag(tagbegin,tagend)  {   if ((document.selection)&

默认让页面的第一个控件选中的javascript代码_表单特效

当页面上面显示了一个表单后,通常焦点 并不是放在第一个控件上面,只需要一点通常的脚本就可以实现这个效果 . document.forms[0].elements[0].focus(); 如果页面的第一个控件是隐藏字段,或是不支持focus() 上面这段javascript 可能就会出现错误 ! 复制代码 代码如下: var formutil = new Object; formutil.focusOnfirst = function() { if(document.forms.length>0)

让textarea控件的滚动条怎是位与最下方_表单特效

同过函数向texterea控件中添加内容后,如何怎是让它的滚动条怎是移动到最底部? 1楼 有谁知道吗? 2楼 <textarea   name="textarea"   cols="80"   rows="10"       style="overflow-y:hidden;   overflow-x:scroll;"></textarea> 3楼 <body>      <texta

validator验证控件使用代码_表单特效

下面是js代码(在绑定对象的时候感觉很不优雅,希望高人能指点一二啊!) 复制代码 代码如下: function validator(obj,option){//验证对象 var self = this; if(!(self instanceof validator)) return new validator(obj,option); self.source={'mobile':'^(13|14|15|18)[0-9]{9}$','postcode':'^\\d{6}$','integer':'

JavaScript中获取Radio被选中的值_表单特效

原理就是:一般使用遍历的方法,判断每个Radio是否被选中,如果是,再取其值. <form id="userlist" method="post" action="option.php"> <input type="radio" name="userid" value="1">1 <input type="radio" name=&quo

Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)_表单特效

1判断select选项中 是否存在Value="paraValue"的Item 2向select选项中 加入一个Item 3从select选项中 删除一个Item 4删除select中选中的项 5修改select选项中 value="paraValue"的text为"paraText" 6设置select中text="paraText"的第一个Item为选中 7设置select中value="paraValue&qu

清空上传控件input file的值_表单特效

复制代码 代码如下: var obj=网页中的<input type="file" /> obj.outerHTML = obj.outerHTML.replace(/(value=\").+\"/i, "$1\"");

JavaScript实现动态增加文件域表单_表单特效

js代码: 复制代码 代码如下: <script language="javascript"> //全局变量,代表文件域的个数,并用该变量区分文件域的name属性 var file_count = 0; //增加文件 域 function additem(id) { if (file_count > 9) { alert("最u22810 10个u25991 件u22495 "); return; } //定义行变量row:单元格变量cell:单元

javascrip客户端验证文件大小及文件类型并重置上传_表单特效

下面是我写的一个通用的javascrip脚本,虽然调用时需要赋的参数比较多,但都是实际需要中真正需要使用到的.各位可以参考,并改成自己需要的脚本. 复制代码 代码如下: /*****获取文件信息 edit by zhaogw 参考by misssionOtherAttEdit.jsp*****/ /*file:input type="file"的对象,一般用this. vType:一个对象名,用于记录文件的文件类型信息.一般为input对象. DivType:一个Div对象的名称.把其