浏览器上传组件文本框作限制解决一法

解决|浏览器|上传|文本框

  【问题】: 浏览器上传组件由一个文本输入框+可以弹出选择文件框的按钮组成,(如图):

  【思路】:

  近日在做页面时发觉有个缺陷难以解决:我想实现这样的效果,用户只能点击浏览选中文件,但是不可对已选中的文件路径或文件名进行修改(否则用户直接随意输入或修改字符串就能上传,但这样上传的是空的毫无意义的文件,所以要做一下限定),就是说这个文本输入框应该类似于disabled效果,但是对上传组件<input type="file">而言如果设置disabled则不能再上传了,所以想来想去还是通过一个变通的方法来实现这样的效果。最终思路是另外做一个独立的文本输入框设置disabled来做限制,然后把上传组件的透明度设为零,在IE和FF中测试已通过!

【代码】:

<html>
<head>
<title>::Test::upload::</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="author" content="Niko">
<style type="text/css">
body,td{ font-size:12px; }
</style>
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="450"><img src="http://www.webjx.com/htmldata/2005-08-04/UploadFile/2005-7/2005728174358491.gif" width="573" height="444" border="0"></td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" align="left">
<tr align="left" height="20">
<td width="70">选择文件:</td>
<td>
<input id="txt_file" type="text" style="width:220px;height:20px;background-color:#ffffff;border-top: #7F9DB9 1px solid;border-left: #7F9DB9 1px solid;border-bottom: #7F9DB9 1px solid;border-right: #7F9DB9 0px solid;" disabled>
</td>
<td width="240" align="left" style="background:url(UploadFile/2005-7/2005728174625830.gif) no-repeat -50px 0px !important;background:url(UploadFile/2005-7/2005728174625830.gif) no-repeat -50px 1px;">
<input name="upload" id="up_file" type="file" style="-moz-opacity:0;filter:alpha(opacity=0);height:18px;margin-left:-36px;" >
</td>
</tr>
<tr>
<td colspan="3" height="5"></td>
</tr>
<tr>
<td>文件描述:</td>
<td colspan="2"><input id="info_file" type="text" style="width:342px;border: #7F9DB9 1px solid;"></td>
</tr>
<tr>
<td colspan="3" height="5"></td>
</tr>
<tr>
<td><input type="submit" style="width:58px;" value=" 上 传 "></td>
<td colspan="2">提示:上传的文件大小不能超过 10.0 MB</td>
</tr>
<table>
</td>
</tr>
</table>
</form>
</body>
</html>

时间: 2024-09-30 03:53:48

浏览器上传组件文本框作限制解决一法的相关文章

基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中如何使用这个组件进行文件上传的,当时上传文件的处理主要也是使用ashx一般处理程序来进行处理的.本文主要介绍我的Web开发框架中,在MVC4的环境中如何集成这个非常棒的文件上传组件的. 1.上传组件uploadify的说明及脚本引用 Uploadify 是 JQuery 一个著名的上传插件,利用 Flash

用VB6做一个简单的文件上传组件(一)

最近在单位做的一个项目里需要有文件上传的功能正好手头一本书的附赠光盘里有一个上传组件心中大喜.可惜随之便发现这是一个试用版不给钱就只能用50次太小气了好在头头催得不紧时间充裕干脆自己试着做一个既可长经验值又能长成就感不试白不试以下介绍的便是俺折腾了两天半捣鼓出来的一个只能说是雏形的玩意区区三十行代码大侠们不要笑俺哦这只是写给与俺一样好奇心强但经验值低的弟兄们看的.    文件上载所需的第一步当然是进入一个有"file"表单元素的页面具体就不说了大家都知道.但是若想做一个能够接受该文件并

两年前写的一个关于六款WEB上传组件性能测试与比较

web|比较|上传|性能|上传|性能   六款WEB上传组件性能测试与比较     随着网络大潮的持续深入,企业管理网络化已成为一种趋势,越来越多的企业用户把自己的MIS.OA及各类管理系统搬到了WEB上,深刻地体现了软件"人性化"的一个方面――你不需要安装软件,只要你有操作系统,只要你有浏览器,就可以使用我的软件!     但这些使用简单方便的WEB页面,却有一点经常让人感到恼火,当你想上传一些资料或图片到WEB上的时候,发觉稍大点的文件的上传速度慢得让人难以忍受,或者干脆就让你用F

关于文件上传组件的调试问题

上传|问题 这是我的上传组件原文,vb作的,没有任何问题!<br><br>   Public Bin<br>Private Names()<br>Private Sizes()<br>Private Filenames()<br>Private Myposition()<br>Public Maxsize<br>Public Fcount<br><br>Public Sub Exec()

用Delphi 6开发ASP上传组件详解

上传|详解 文件上传是WEB开发中经常要用到的功能,但ASP本身和内置的组件都不支持文件上传功能.网上流传的一些第三方组件虽然能够解决这个问题,但大多是要收费的,更别说Open Source了.本文将详细剖析WEB文件上传的原理,以及一步步指导读者如何用Delphi6开发一个ASP上传组件. 1 Html文件分析 首先我们来看一个html文件源码,文件名是test.htm,功能是提供用户上传的界面: <html> <body> <center> <form nam

JSP文件上传组件:Smartupload

图片等文件上传不同于单纯的数字,文件在计算机中以二进制的形式存在,文件的上传要用到Smartupload组件.我们一起学习一下如何利用Smartupload组件上传文件. Smartupload简介 Smartupload是由www.jspsmart.com网站开发的一套上传组件包,可以方便的实现文件的上传及下载功能,Smartupload组件使用很简单,可以实现上传文件类型的限制.也可以轻易的取得上传文件的名称,后缀.大小等. Smartupload本身是一个系统提供的jar包(和数据库操作时

Fine Uploader文件上传组件

原文 Fine Uploader文件上传组件 最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要求类似IE版本必须是9或是更高的IE10].在不同浏览器中提供统 一用户体验.该组件基本覆盖目前所有主流浏览器.同时没有任何第三方组件依赖.相当Clear.在服务器端已经覆盖支持了 ASP.NET/ColdFusion/Java/Node.js/Perl

java web 中文乱码问题,上传组件传参乱码解决

1 response.setHeader("Content-type", "text/html;charset=UTF-8");//设置浏览器以什么编码显示数据,注意分号 response.setCharacterEncoding("UTF-8");2 Java中文使用Unicode编码.在Cookie中使用Unicode字符时需要对Unicode字符进行编码,否则会乱码.编码使用java.net.URLEnoder类的encode(String

asp.net中Fine Uploader文件上传组件使用介绍_实用技巧

最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要求类似IE版本必须是9或是更高的IE10].在不同浏览器中提供统一用户体验.该组件基本覆盖目前所有主流浏览器.同时没有任何第三方组件依赖.相当Clear.在服务器端已经覆盖支持了ASP.NET/ColdFusion/Java/Node.js/Perl/PHP/Python. 对上传细节类似限制文件大