input type file(input的type类型file)
大家好,input type file相信很多的网友都不是很明白,包括input的type类型file也是一样,不过没有关系,接下来就来为大家分享关于input type file和input的type类型file的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
<input type="file">的事件问题
设定一个flag,为true或者false.监听键盘的onkeydown和input的onchange事件。onkeydown事件里面,检查按下键的值和text的值,如果按下的键是a-z,A-Z,0-9并且如果text里面值为空,则将flag置为true,如果text里面值为非空,则将flag置为false.在onchange里面检查flag的值,如果为true则触发你要触发的事件,为false则不触发。
简单的说就是用一个标记来记着是手动输入还是键盘选择。
给分,给高分。
如何给一个file类型的input赋值
这个应该是不可以的,必须重新使用用文件对话框选择。
这是处于安全的考虑,不能直接对input type=file的类型赋值,因为如果某个网站在网页中嵌入了一个隐藏的input type=file,他可以直接用JS将你硬盘中的某个文件通过该控件直接取到指定地点,就没有安全性可言。
因此必须对一个input type=file设置一个按钮来打开文件选择框的目的就是选择文件必须让用户知道并且决定是否要选择一个文件,直接赋值是没有作用的。
所以file.value="xxxx",是没有作用的。
<input type="file"> 的 onchange 触发问题
重置file控件一般的办法是使所在的form执行reset,但问题是会把其他表单控件也重置了。
以前由于安全问题,file的value是不允许修改的。
但现在ff,chrome和safari可以把它设为空值来实现重置:
file.value="";
当然其他值还是不允许的。
ps:记忆中以前是不行的,不知有没有记错。
对于opera,有一个变通的方法,利用它的type属性:
file.type="text"; file.type="file";
通过修改type得到的file控件,value会自动还原成空值,这样就间接把file控件清空了。
还有ie的reset具体看参考资料的file的reset部分
OK,关于input type file和input的type类型file的内容到此结束了,希望对大家有所帮助。