- <%@Language=JScript @CodePage=936%>
- <Script Language=JScript RunAt=Server>
- /****************************************************************\
- <lostinet:source xmlns:lostinet="lostinet-d2g-com/source">
- <lostinet:source-info>
- <lostinet:name>Lostinet_ASP_Upload的例子-动态表单部分</lostinet:name>
- <lostinet:description>一个动态的表单的例子</lostinet:description>
- </lostinet:source-info>
- <lostinet:author-info>
- <lostinet:name>Lostinet</lostinet:name>
- <lostinet:email>lostinet@21cn.com;lostinet@chongjian.com;</lostinet:email>
- <lostinet:homepage>http://lostinet.d2g.com</lostinet:homepage>
- </lostinet:author-info>
- <lostinet:copyright-info>
- <lostinet:copyright>版权声明:这个软件可以随意发布。也可以根据具体情况进行优化修改。但是请保留作者的相关信息。</lostinet:copyright>
- </lostinet:copyright-info>
- </lostinet:source>
- \****************************************************************/
- </Script>
- <SCRIPT RUNAT=Server LANGUAGE=JScript>
- </SCRIPT>
- <HTML>
- <HEAD>
- <TITLE>JScript Example Form</TITLE>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312" />
- </HEAD>
- <STYLE>
- button
- {
- border:1px gray solid;
- }
- div.form_item
- {
- width:500px;
- overflow-x:visible;
- padding:4px;
- margin-top:8px;
- border:2px gray dotted;
- }
- input.file
- {
- border:1px gray inset;
- width:400px;
- }
- textarea.info
- {
- border:1px gray inset;
- width:400px;
- SCROLLBAR-FACE-COLOR: #cccccc;
- SCROLLBAR-HIGHLIGHT-COLOR: WHITE;
- SCROLLBAR-SHADOW-COLOR: WHITE;
- SCROLLBAR-ARROW-COLOR: maroon;
- SCROLLBAR-TRACK-COLOR: #e0e4e4;
- SCROLLBAR-3DLIGHT-COLOR: #cccccc;
- SCROLLBAR-DARKSHADOW-COLOR: #cccccc;
- SCROLLBAR-BASE-COLOR: #cccccc;
- }
- </STYLE>
- <SCRIPT>
- var countImgLoading=0;
- function GetItemDiv(e)
- {
- while(e=e.parentElement)
- {
- if(e.className.toLowerCase()=="form_item")
- {
- return e;
- }
- }
- throw(new Error(-1,"Impossible:GetItemDiv发生不能处理的意外"));
- }
- function GetNamedItem(div,name)
- {
- return div.all(name);
- throw(new Error(-11,"Impossible:GetNamedItem发生不能处理的意外"+name));
- }
- function Check_Item(div)
- {
- var file=GetNamedItem(div,"file");
- var info=GetNamedItem(div,"info");
- var width=GetNamedItem(div,"width");
- var height=GetNamedItem(div,"height");
- var preview=GetNamedItem(div,"preview");
- if(file.value.replace(/\s/g,"")=="")
- {
- file.focus();
- return false;
- }
- if(info.value.replace(/\s/g,"")=="")
- {
- info.focus();
- return false;
- }
- if(info.value.length>1000)
- {
- alert("描述的长度不能超过1000字");
- info.focus();
- return false;
- }
- if(height.value=="0"||width.value=="0")
- {
- file.focus();
- return false;
- }
- if(parseInt(height.value)>800||parseInt(width.value)>600)
- {
- alert("图片尺寸大于800X600");
- file.focus();
- return false;
- }
- if(preview.src.toLowerCase().indexOf("file://")!=0)
- {
- alert("只能上传本地文件!!\n请把文件框的内容清楚\n然后按浏览");
- file.focus();
- return false;
- }
- if(preview.fileSize==0)
- {
- file.focus();
- return false;
- }
- return preview.fileSize;
- }
- function Check_Form()
- {
- if(event==null)var event=new Object();
- var totalSize=0;
- var haveItem=false;
- var coll=form_submit.children;
- for(var i=0;i<coll.length;i++)
- {
- var item=coll.item(i);
- if(item.className.toLowerCase()=="form_item")
- {
- haveItem=true;
- totalSize=Check_Item(item);
- if(totalSize==false)
- {
- alert("该输入框必须填上正确的内容");
- return event.returnValue=false;
- }
- }
- }
- if(haveItem==false)
- {
- Add_FormItem();
- return event.returnValue=false;
- }
- if(totalSize==0)
- {
- alert("不打算上传了");//暂时没有可能执行
- return event.returnValue=false;
- }
- if(totalSize>1024*1024)
- {
- alert("不能上传超过1M的数据");
- return event.returnValue=false;
- }
- btn_submit.disabled=true;
- return event.returnValue=true;
- }
- function Add_FormItem()
- {
- form_submit.elements("input_submit").insertAdjacentHTML("beforebegin",form_template.innerHTML);
- }
- function Delete_FormItem()
- {
- var btn=event.srcElement;
- GetItemDiv(btn).removeNode(true);
- }
- function Show_Preview()
- {
- var div=GetItemDiv(event.srcElement);
- var preview=GetNamedItem(div,"preview");
- var file=GetNamedItem(div,"file");
- if(preview.readyState=="uninitialized"||preview.readyState=="complate")countImgLoading++;
- btn_submit.disabled=true;
- preview.src=file.value;
- }
- function OnPreviewLoad(secceed)
- {
- btn_submit.disabled=false;//bug:当表单在提交的时候,忽略
- countImgLoading--;
- var div=GetItemDiv(event.srcElement);
- var preview=GetNamedItem(div,"preview");
- var height=GetNamedItem(div,"height");
- var width=GetNamedItem(div,"width");
- if(secceed)
- {
- height.value=preview.height;
- width.value=preview.width;
- }
- else
- {
- height.value=width.value="0";
- }
- var filesize=GetNamedItem(div,"filesize");
- filesize.innerText=Math.floor(preview.fileSize/1024)+"K";
- }
- function OnPreviewMouseOver(div)
- {
- if(div.contains(event.fromElement))return;
- var divItem=GetItemDiv(div);
- var preview=GetNamedItem(divItem,"preview");
- div.style.overflow="visible";
- preview.style.position="absolute";
- }
- function OnPreviewMouseOut(div)
- {
- if(div.contains(event.toElement))return;
- var divItem=GetItemDiv(div);
- var preview=GetNamedItem(divItem,"preview");
- div.style.overflow="hidden";
- preview.style.position="static";
- }
- function OnPreviewClick(div)
- {
- var divItem=GetItemDiv(event.srcElement);
- var preview=GetNamedItem(divItem,"preview");
- div.style.overflow="hidden";
- preview.style.position="static";
- }
- </SCRIPT>
- <BODY>
- <DIV>
- <BUTTON ID="btn_add">添加一个需要上传的图片</BUTTON>
- <BUTTON ID="btn_submit">提交所有内容</BUTTON>
- </DIV>
- <DIV>
- <FORM ID="form_submit" ACTION="e.g.jscript.action.asp" METHOD="POST" ENCTYPE="multipart/form-data" ONSUBMIT="Check_From()">
- <INPUT ID="input_submit" TYPE="submit" STYLE="display:none">
- </FORM>
- </DIV>
- <FORM ID="form_template" STYLE="display:none;">
- <DIV CLASS="form_item">
- <DIV>
- 要上传图片(<SPAN id="filesize"></SPAN>)的路径: <BUTTON CLASS="delete" ONCLICK="Delete_FormItem()">删除</BUTTON>
- </DIV>
- <DIV STYLE="border:1px orange solid;width:200px;height:50px;overflow:hidden;" ONMOUSEOVER="OnPreviewMouseOver(this)" ONMOUSEOUT="OnPreviewMouseOut(this)" ONCLICK="OnPreviewClick(this)">
- <INPUT TYPE="hidden" NAME="width" VALUE="0">
- <INPUT TYPE="hidden" NAME="height" VALUE="0">
- <IMG ID="preview" STYLE="position:static" ONLOAD="OnPreviewLoad(true)" ONERROR="OnPreviewLoad(false)">
- </DIV>
- <DIV>
- <INPUT TYPE="file" NAME="file" CLASS="file" ONCHANGE="Show_Preview()">
- </DIV>
- <DIV>
- 相关的描述:
- </DIV>
- <DIV>
- <TEXTAREA NAME="info" CLASS="info" ROWS="4"></TEXTAREA>
- </DIV>
- </DIV>
- </FORM>
- </BODY>
- <SCRIPT>
- Add_FormItem();
- function btn_add.onclick()
- {
- Add_FormItem();
- }
- function btn_submit.onclick()
- {
- if(Check_Form())
- form_submit.submit();
- }
- </SCRIPT>
- </HTML>
通过客户端验证上传图片文件大小的ASP源码
2019-09-29 10:56asp源码网 ASP教程
ASP_Upload的例子-动态表单部分,通过客户端验证上传图片文件大小的ASP源码。
延伸 · 阅读
- 2019-09-28centos中为svn客户端配置代理的方法
- 2019-09-28让dedecms织梦后台支持上传bmp格式的图片的教程
- 2019-09-28检查上传图片是否合法的函数,木马改后缀名、图
- 2019-09-27dedecms织梦上传图片302Error错误的解决方法
- 2019-09-24asp源码打包成xml的工具
- 2019-09-20WordPress在线安装主题、插件及快速发布上传图片
精彩推荐
- ASP教程
在asp中使用js的encodeURIComponent方法
encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串...
- ASP教程
ASP函数大全解析
这篇文章主要对ASP函数大全进行了解析,需要的朋友可以参考下...
- ASP教程
asp中使用MSXML2.DOMDocument处理XML数据时的注意事项
这篇文章主要介绍了asp中使用MSXML2.DOMDocument处理XML数据时的注意事项,本文给出了4个需要注意的问题,需要的朋友可以参考下...
- ASP教程
asp javascript值的互相传递方法
不时有人问这种问题, js怎么传值到asp, asp 怎么传值到js。 其实这个问题很经典,我以前也犯过这种糊涂。...
- ASP教程
asp中获取当前月份距离以前某个时间的月份数
获取当前月份距离以前某个时间的月份数,asp都是用DateDiff函数来实现...
- ASP教程
vbs或asp采集文章时网页编码问题
研究网页编码很长时间了,因为最近要设计一个友情链接检测的VBS脚本,而与你链接的人的页面很可能是各种编码 ...
- ASP教程
ASP中实现分页显示的七种方法
这篇文章主要介绍了ASP中实现分页显示的七种方法,这七种方法可以分为四大类,需要的朋友可以参考下...
- ASP教程
asp中格式化HTML函数代码 SDCMS加强版
主要用来去除html中的script,iframe等html标记,需要的朋友可以参考下。...