当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 类型File的Input按钮功能研究

HTML/XHTML教程
HTML表格标记教程(29):单元格的亮边框色属性BORDERCOLORLIGHT
XHTML教程:针对初学者的XHTML基础
HTML表格标记教程(27):单元格的背景图像属性BACKGROUND
HTML表格标记教程(26):单元格标记
HTML表格标记教程(24):行的水平对齐属性ALIGN
HTML表格标记教程(25):行的垂直对齐属性VALIGN
HTML表格标记教程(22):行的亮边框色属性BORDERCOLORLIGHT
HTML表格标记教程(23):行的暗边框色属性BORDERCOLORDARK
HTML表格标记教程(20):行的背景色属性BGCOLOR
HTML表格标记教程(21):行的边框色属性BORDERCOLOR
HTML表格标记教程(19):行标记
HTML表格标记教程(17):表格标题垂直对齐属性VALIGN
HTML表格标记教程(18):表格的表头
HTML表格标记教程(15):表格的标题
HTML表格标记教程(16):标题水平对齐属性ALIGN
HTML表格标记教程(13):内部边框样式属性RULES
HTML表格标记教程(14):表格的表头
HTML教程:html水平线段
XHTML入门学习教程:表格标签的应用
XHTML入门学习教程:XHTML网页图片应用

HTML/XHTML教程 中的 类型File的Input按钮功能研究


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 266 ::
收藏到网摘: n/a


在一些网站进行上传时,当单击了“浏览”按钮之后会弹出【选择文件】的对话框。很多时候我们需要只上传图像文件,那么在弹出的【选择文件】对话框中只显示了相关图片格式的文件,此外其余格式文件一律过滤不被显示。
比如 http://www.youku.com/v1.0.0326/v/swf/up.swf
这是优酷的视频上传选择,其是通过FLASH的方法来实现了不显示非视频类文件。
FLASH到这种效果一般也就是如这里所描述的
import flash.net.FileReferenceList;
var fileRef:FileReferenceList = new FileReferenceList();
var allTypes:Array = [];
var 浏览类型:Object = new Object();
浏览类型.description = "浏览类型(*.mp3)";
浏览类型.extension = "*.mp3";
allTypes.push(浏览类型);
fileRef.browse(allTypes);
所以针对我们的网页中<input type="File">能不能也实现弹出窗口限制文件类型呢?
现在的解决方法只能是通过监测来提醒用户上传文件的格式不正确
<script>
function check(){
var filepath=path.value
filepath=filepath.substring(filepath.lastIndexOf('.') 1,filepath.length)
if(filepath != 'jpg' && filepath != 'gif')
alert("只能上传JPG或GIF格式的图片")
}
</script>
<input type=file name=path onpropertychange="check()"> (只能上传JPG或GIF格式的图片)
<script>
function ck(obj){if(obj.value.length>0){
var af="jpg,gif,png,zip,rar,txt,htm";
if(eval("with(obj.value)if(!/" af.split(",").join("|") "/ig.test(substring(lastIndexOf('.') 1,length)))1;")){alert("Allowed file types:\n" af);obj.createTextRange().execCommand('delete')};
}}
</script>
<form>
<input type=file name=path onpropertychange="ck(this)"/></form>
不过这种效果显然没有FLASH的用户体验好。有必要对这类FLASH上传关注一下了。