`
zjq_fy
  • 浏览: 8160 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Html file标签试用

 
阅读更多
在IE6中,file标签可以输入文件路径。但是在firefox中,浏览器则不允许输入。浏览器这么做的原因可能是为了减少出错的可能,IE则充分相信用户可以把握自己的输入信息。但是事实证明,这种输入错误的几率非常大,特别是在BS软件结构成为企业级应用软件的主流架构的今天。笔者就遇到这样的问题,使用frm.submit()提交时,如果用户输入了不合法的文件路径。该函数会抛出异常,导致前台代码运行错误。
尝试使用文件名校验,和判断文件是否存在等办法来校验,都未达到理想的效果。
偶然的想法,使用try catch来发出提示信息。代码如下
<html>
<head>
<script>
var context_path = '/learn';

function on_file_selected(){
var frm = document.getElementById('frmUpload');
if(!frm){
return ;
}
var fileElm = document.getElementById('fileInput');
if(!checkFileFullName(fileElm.value)){
alert('文件不存在!');
return ;
}
var url = context_path + '/file/upload.jsp?';
frm.action = url;
try{
frm.submit();
}catch(e){
alert('上传文件出错!');
}
}

function checkFileFullName(path){
return true;
}
</script>
</head>
<body>
<form id="frmUpload" method="post" name="frmUpload" action="">
<input type="file" name="file" onchange="on_file_selected()" id="fileInput"
style="font-size:13px;width:200px;" />
</form>
</body>
</html>
----------------------------------------------
有读到此信息的哥们,不妨讨论一下更合理的解决办法。
分享到:
评论

相关推荐

    jsoup jar包

    写下试用教程: 1.准备一个web项目,到sitemesh官方网站下载sitemesh包与tld文件 http://www.opensymphony.com/sitemesh/ 2.把sitemesh-2.3.jar加入classpath中,把tld放到WebContent/WEB-INF/tld/下 3.更改web....

    FCKEditor试用指南

    ### FCKEditor试用指南 #### 1. FCKEditor 的下载及介绍 FCKEditor 是一款基于JavaScript的富文本编辑器,它提供了强大的编辑功能,适用于多种Web开发环境。这款编辑器支持自定义工具栏、多语言环境,并且能够很好...

    上传文件的源代码

    1. **前端交互**:在用户界面,HTML表单`&lt;form&gt;`元素用于接收用户选择的文件,通过`&lt;input type="file"&gt;`标签创建一个文件选择器。表单通常使用`enctype="multipart/form-data"`指定编码类型,以便处理二进制数据。 ...

    Sencha_Architect2.2.2入门操作图解教程

    在“File”菜单下选择“Save Project”,并指定一个合适的保存位置,例如在Tomcat的webapps目录下,这样可以直接发布你的应用。然后,你可以开始构建应用程序的结构。 教程中提到的第一步是创建一个Viewport视图,...

    dosntfs5,dos小工具

    标题中的“dosntfs5,dos小工具”指的是在DOS环境下可以使用的工具,用于管理和操作NTFS(New Technology File System)分区。NTFS是Windows操作系统中的一种高级文件系统,通常用于存储大量的数据并提供高级安全性...

    Odoo12 Studio使用介绍

    - **Text/MultilineText/IntegerNumber/DecimalNum/HTML/Monetary/Date/Date&Time/Checkbox/Selection/File/One2many/Many2one/Many2many/Image/Tags/Priority/RelatedField/ExistingFields**:这些是不同类型的...

Global site tag (gtag.js) - Google Analytics